问:struts后台无法获取文件对象和文件名称?
答:1. 到dropzone.js搜索"return xhr.send(formData);"
2. 在它前面有个这么句代码:
for (i = _m = 0, _ref5 = files.length - 1; 0 <= _ref5 ? _m <= _ref5 : _m >= _ref5; i = 0 <= _ref5 ? ++_m : --_m) {
formData.append(this._getParamName(i), files[i], files[i].name);
}
3. 找到这句代码,然后更改formData.append(...),我改成如下:
for (i = _m = 0, _ref5 = files.length - 1; 0 <= _ref5 ? _m <= _ref5 : _m >= _ref5; i = 0 <= _ref5 ? ++_m : --_m) {
formData.append("files", files[i], files[i].name);
formData.append("fileNames", files[i].name);
}
4. 然后在java中定义全局files,fileNames提供get、set方法即可获取文件对象和名称了,如下:
private File[] files; //上传的文件
private String[] fileNames; //文件名称 public File[] getFiles() {
return files;
} public void setFiles(File[] files) {
this.files = files;
} public String[] getFileNames() {
return fileNames;
} public void setFileNames(String[] fileNames) {
this.fileNames = fileNames;
}
5. ok,你可以在你的方法里面测试看是否已经获取到对象了呢?
注:其它的有关上传文件所需要的配置信息和struts普通上传一样配置即可!
dropzone开发相关参考: