Dropzone uploadMultiple с Java Struts, FileUploadInterceptor для имени файла и типа содержимого не вызывается? - PullRequest
0 голосов
/ 23 марта 2019

Я использую dropzone с Java Struts2. Перед добавлением uploadMultiple: true в dropzone, серверная сторона работает должным образом, то есть соответственно получаются getter и setter File, FileName и ContentType. Однако после добавления uploadMultiple: true перехватчик Struts вызывает только метод получения и установки файла.

Я попытался изменить имя параметра и подписаться на эти два веб-сайта, но безуспешно. https://struts.apache.org/core-developers/file-upload-interceptor.html https://www.mkyong.com/struts2/struts-2-upload-multiple-files-example/

// My JS

    $("form#addrBookDropzone").dropzone(
        {
            url: "uploadData",
            maxFilesize: maxFileSize,
            maxFiles: 10,
            acceptedFiles: ".csv",
            addRemoveLinks: true,
            autoProcessQueue: false,
            uploadMultiple:true,
            parallelUploads: 10,
            paramName:'csvFile',
            init: function (e) {
                abDropzone = this;  
                abDropzone.processQueue();
            },
            success: function(file, response){
                retrieveCsvTransition();
            }

        }
    );

// Моя Java

открытый класс FileProcessor расширяет ActionSupport {

private static final long serialVersionUID = -234712913575630908L;
public static final Logger logger = Logger.getLogger(FileProcessor.class);
private String className = this.getClass().getSimpleName();

private List<File> csvFile = new ArrayList<File>(); 
private List<String> csvFileContentType = new ArrayList<String>();
private List<String> csvFileFileName = new ArrayList<String>();
private Set<TblCsvTransition> csvData = new HashSet<TblCsvTransition>(0);
private AbstractMap<String, File> fileMap = new HashMap<String, File>(0);



public List<File> getCsvFile() {
    return csvFile;
}

public void setCsvFile(List<File> csvFile) {
    this.csvFile = csvFile;
}

public List<String> getCsvFileContentType() {
    return csvFileContentType;
}

public void setCsvFileContentType(List<String> csvFileContentType) {
    this.csvFileContentType = csvFileContentType;
}

public List<String> getCsvFileFileName() {
    return csvFileFileName;
}

public void setCsvFileFileName(List<String> csvFileFileName) {
    this.csvFileFileName = csvFileFileName;
}

}

1 Ответ

0 голосов
/ 27 марта 2019

Я не могу понять, почему распорки не передают имена файлов, в конце концов, я могу только закомментировать параллельные загрузки и передать имена файлов в качестве параметра

...