Получить имя изображения, когда Dropzone. js завершает процесс - PullRequest
0 голосов
/ 08 марта 2020

js с помощью Laravel для загрузки изображений с веб-сайта, что я хочу сделать, это получить имя того файла, который я уже загрузил, что я имею в виду, это:

У меня есть мой Dropzone. js код:

Dropzone.options.myAwesomeDropzone = {
        paramName: "file", // Las imágenes se van a usar bajo este nombre de parámetro
        autoProcessQueue:true,
        required:true,
        acceptedFiles: ".png,.jpg,.gif,.bmp,.jpeg",
        addRemoveLinks: true,
        maxFiles:8,
        parallelUploads : 100,
        maxFilesize:5,
        init: function() {
            this.on("success", function(file, response) {
                $('.dz-preview').remove();
            })
        }
    };

Это мой HTML:

<div  id="home_6" class="tab-pane fade active in" role="tabpanel">
                                            <br>
                                            <form action="{{ asset('/image/store') }}" method="post" class="dropzone" id="my-awesome-dropzone">
                                                {{ csrf_field() }}
                                            </form>
                                            <br>
                                            <div class="row text-center" id="files">
                                                <div class="col-md-3">  
                                                    <img src="{{ url('admin/dist/img/thumb-1.jpg') }}" />
                                                </div>
                                                <div class="col-md-3">  
                                                    <img src="{{ url('admin/dist/img/thumb-1.jpg') }}" />
                                                </div>
                                                <div class="col-md-3">  
                                                    <img src="{{ url('admin/dist/img/thumb-1.jpg') }}" />
                                                </div>
                                                <div class="col-md-3">  
                                                    <img src="{{ url('admin/dist/img/thumb-1.jpg') }}" />
                                                </div>
                                            </div>
                                        </div>

А это мой Laravel код загрузки

public function store(Request $request)
{

$file = $request->file('file');
$path = public_path() . '/files';
$fileName = uniqid() . $file->getClientOriginalName();

$file->move($path, $fileName);

}

Как вы можете видеть, что Dropzone работает для автоматической загрузки изображения, и с этим все в порядке, затем он идет к контроллеру в хранилище функций, когда сохраняется, как вы можете проверить, есть ли у меня функция, когда она закончила загружать:

this.on("success", function(file, response) {
                $('.dz-preview').remove();
            })

В этой функции я хотел бы восстановить имя, которое использовалось для хранения изображения в папке с файлами. Я имею в виду, если я добавлю туда предупреждение, например, будет hiworld.png.

Как я могу получить имя файла? Спасибо!

1 Ответ

0 голосов
/ 08 марта 2020

В обратном вызове 'success' вы можете получить имя файла, вызвав:

file.name

Просто console.log, переменная файла, и вы увидите все свойства.

Также поскольку вы уже вызываете имя файла в контроллере:

$file->getClientOriginalName();

, вы также можете вернуть его из контроллера. Затем в обратном вызове «success» получите ответ. Это зависит от того, чего вы хотите достичь.

...