#java #file #dropzone
#java #файл #dropzone
Вопрос:
Я использую dropzone с Java Struts2. Перед добавлением uploadMultiple: true в dropzone, серверная часть работает должным образом, т. Е. будут вызываться средства получения и установки файла, 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 /
//Мой 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
файловый процессор открытого класса расширяет 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:
Я не мог понять, почему struts не передает имена файлов, в конце концов, я могу только закомментировать parallelUploads и передать имена файлов как param