spring mvc 多文件上传

来源:互联网 发布:java线程池实现方式 编辑:程序博客网 时间:2024/05/23 13:33

html:

<form id="form"><a href="javascript:;" class="file" id='fileTr'>附件上传<input type="file" multiple="multiple" name="documentFile" id="documentFile"/></a><input type="hidden" name="params" id="params"/></form>

js:

显示选择的文件名:

$("#form").on("change","input",function(){var length = $(this)[0].files.length;var dom="";for(var i=0;i<length;i++){    userFiles.push($(this)[0].files[i]);var temp = $(this)[0].files[i].name;          dom +="<div><label>"+temp+"</label><a href='javascript:void(0);'>删除</a></div>";}$("#file-name").append(dom);
fileClean();
});

//表单提交
$("#form").ajaxSubmit({
            type: 'post', 
            url: '你的url', 
            data:{
            test1:'test1',
            test2:'test2'
            },
            success: function(data) {
            fileClean();
                alert('提交成功!');
            },
            error:function(){
            alert('系统异常,请稍后重试!');
            }
        });
function fileClean(){document.getElementById('fileTr').innerHTML = "附件上传<input type='file' multiple='multiple' name='documentFile' id='documentFile'/>";$("#file-name-list").html("");}

java:

@RequestMapping(value = "", method = RequestMethod.POST)@OpenApipublic String submit(@RequestParam MultipartFile[] documentFile,HttpServletRequest request,String test1,String test2){return service.submit(documentFile,request);}
实现层:

@Overridepublic String submit(MultipartFile[] documentFile, HttpServletRequest request) {for(int i = 0 ;i<documentFile.length;i++){    MultipartFile file = documentFile[i];    String path=null;    String fileType=null;    String fileName= file.getOriginalFilename();    Long fileSize = file.getSize();    fileType = fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;    String realPath=request.getSession().getServletContext().getRealPath("/");    String trueFileName=String.valueOf(System.currentTimeMillis())+fileName;    path=realPath+/*System.getProperty("file.separator")+*/trueFileName;    // 转存文件到指定的路径    if (fileType!=null) {    try {file.transferTo(new File(path));} catch (IOException e) {e.printStackTrace();return e.toString();}    }    }return "单据提交成功!";}