Как загрузить несколько файлов одновременно

#struts2 #dropzone.js

Вопрос:

Я пытаюсь загрузить несколько файлов с помощью Dropzone.js, но он действует так, как будто загружает один файл за одну загрузку.

Например: я выбираю 3 файла, нажимаю кнопку «ОК», в выпадающей зоне отображается статус » ОК » (успешно загружено), но серверная сторона получает 3 отдельных запроса с одним файлом на каждый запрос.

Мне нужно получить все файлы в виде массива файлов, кто-нибудь может помочь в этом деле?

Код:

 <form id="my-awesome-dropzone" class="dropzone custom_bc" action="'.$_SERVER['PHP_SELF'].'">
        <input type="hidden" name="action" value="file">
        <div class="fallback"><input type="file" name="file" multiple></div>
        <input type="hidden" name="object_id" value="'.$_REQUEST['object_id'].'">
        <input type="hidden" name="est_id" value="'.$_REQUEST['est_id'].'">
        <div class="dz-preview"></div>
    </form>
 

Я также пытался ввести [] имя <file> , но это не помогает

 <input type="file" name="file[]" multiple>
 

Ответ №1:

Вам нужно настроиться uploadMultiple на true .

         var myDropzone = new Dropzone(
            "#my-awesome-dropzone",
            {
                url: document.URL, // Set the url
                paramName: "file",
                uploadMultiple: true
            }
        );
 

При установке uploadMultiple в true значение Dropzone [] автоматически связывается с вашим именем файла. Так что вам не нужно этого делать.