关于jfinal的多文件上传。

这个东西上传一直是只能上传一个文件,多文件上传时不管选择几个文件,上传的都是那同一个文件。求解答怎么解决。下面是js里的代码


//附件1
            // var fileDom1=new Array();
            var fileDom1 = document.getElementById('chrApply_file1');
            // var fileDom1 = [document.getElementById('chrApply_file1')]
            // for(var i in fileDom1){
            for(var i=0; i< fileDom1.files.length; i++){
                if(fileDom1.files.length > 0) {
//                    var file1 = fileDom1.files[0];
                    var formData1 = new FormData();
                    formData1.append("file_cont", fileDom1.files[0]);
                    formData1.append("app01", $.trim(c_app01));
                    $.ajax({
                        url: '/ChrApply/InsertMatList',
                        type: 'POST',
                        data: formData1,
                        processData: false,
                        contentType: false,
                    });
                    alert(fileDom1.files[i].name);
                }
            }

评论区

JFinal

2017-12-18 14:59

这是一个纯前端的问题了,后端用一下 getFiles() 即可打完收工

无心_

2017-12-18 15:21

@JFinal public void InsertMatList() {
MessageData data = new MessageData();
Integer sult;
try {
// List listfile=new ArrayList<>();
UploadFile file = getFile("file_cont");
// Map map = new HashMap();
// map.put("file_cont", file.getUploadPath());
String fileName = file.getFileName();

String app01 = getPara("app01");

String path = "upload/".trim();

String realPath = getSession().getServletContext().getRealPath(path);
String newName = fileName;
String filePath = path + newName.trim();
file.getFile().renameTo(new File(realPath + "/" + newName));

sult = PopAnnex.dao.InsertMatList(app01, fileName, filePath);
data.setCode(sult);
} catch (Exception e) {
data.setCode(0);
data.setMsg("上传失败!" + e.getCause().getMessage());
} finally {
JSONObject json = JSONObject.fromObject(data);
renderJson(json.toString());
}
}
这是后台代码。

无心_

2017-12-18 16:25

@JFinal 已经解决了。

无心_

2017-12-18 16:26

热门反馈

扫码入社