多文件上传

一、到http://www.uploadify.com/下载最新版,我的是jquery.uploadify-v1.6.2 (MIT)
二、下载包解压放在对应位置
三、HttpServlet,如下:

Java代码 复制代码
  1. protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)
  2. throwsServletException,IOException{
  3. ServletContextservletContext=this.getServletConfig().getServletContext();
  4. ApplicationContextappContext=WebApplicationContextUtils.getWebApplicationContext(servletContext);
  5. UploadFileDaodao=(UploadFileDao)appContext.getBean("uploadFileDao");
  6. StringsavePath=this.getServletConfig().getServletContext()
  7. .getRealPath("/")
  8. +UPLOAD_FOLDER;
  9. DiskFileItemFactoryfac=newDiskFileItemFactory();
  10. ServletFileUploadupload=newServletFileUpload(fac);
  11. ListfileList=null;
  12. try{
  13. fileList=upload.parseRequest(req);
  14. }catch(FileUploadExceptionex){
  15. ex.printStackTrace();
  16. return;
  17. }
  18. Iterator<FileItem>it=fileList.iterator();
  19. StringBuildersb=newStringBuilder();
  20. while(it.hasNext()){
  21. FileItemitem=it.next();
  22. if(!item.isFormField()){
  23. Stringname=item.getName();
  24. longsize=item.getSize();
  25. Stringtype=item.getContentType();
  26. if(StringUtils.isBlank(name))
  27. continue;
  28. FilesaveFile=newFile(savePath+name);
  29. try{
  30. item.write(saveFile);
  31. Stringformat="yyyy/MM/ddhh:mm:ss";
  32. UploadFileuploadFile=newUploadFile();
  33. uploadFile.setCreateTime(DateUtil.getCurDateString(format));
  34. uploadFile.setName(UUID.randomUUID().toString());
  35. uploadFile.setOrgName(name);
  36. uploadFile.setType(type);
  37. uploadFile.setSize(size);
  38. dao.save(uploadFile);
  39. if(StringUtils.isBlank(sb.toString()))
  40. sb.append(uploadFile.getId());
  41. else
  42. sb.append(";"+uploadFile.getId());
  43. }catch(Exceptione){
  44. e.printStackTrace();
  45. }
  46. }
  47. }
  48. resp.getWriter().print(sb.toString());
  49. }
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        ServletContext servletContext = this.getServletConfig().getServletContext();
        ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        UploadFileDao dao = (UploadFileDao) appContext.getBean("uploadFileDao");
        String savePath = this.getServletConfig().getServletContext()
        .getRealPath("/")
        + UPLOAD_FOLDER;
        DiskFileItemFactory fac = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(fac);
        List fileList = null;
        try {
            fileList = upload.parseRequest(req);
        } catch (FileUploadException ex) {
            ex.printStackTrace();
            return;
        }
        Iterator<FileItem> it = fileList.iterator();
        StringBuilder sb = new StringBuilder();
        while(it.hasNext()){
            FileItem item =  it.next();
            if(!item.isFormField()){
                String name = item.getName();
                long size = item.getSize();
                String type = item.getContentType();
                if(StringUtils.isBlank(name))
                    continue;
                File saveFile = new File(savePath+name);
                try {
                    item.write(saveFile);
                    String format = "yyyy/MM/dd hh:mm:ss";
                    UploadFile uploadFile = new UploadFile();
                    uploadFile.setCreateTime(DateUtil.getCurDateString(format));
                    uploadFile.setName(UUID.randomUUID().toString());
                    uploadFile.setOrgName(name);
                    uploadFile.setType(type);
                    uploadFile.setSize(size);
                    dao.save(uploadFile);
                    if(StringUtils.isBlank(sb.toString()))
                        sb.append(uploadFile.getId());
                    else
                        sb.append(";"+uploadFile.getId());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
       
        resp.getWriter().print(sb.toString());
    }


四、对应调用页面,jsp:
引入必要的css和javascript
头部:

Java代码 复制代码
  1. //uploadfile
  2. $("#fileUpload").fileUpload({
  3. 'uploader':'${ctx}/js/uploadify/uploader.swf',
  4. 'cancelImg':'${ctx}/js/uploadify/cancel.png',
  5. 'script':'${ctx}/file/upload',
  6. 'folder':'upload',
  7. 'multi':true,
  8. 'buttonText':'SelectFiles',
  9. 'displayData':'speed',
  10. onComplete:function(event,queueID,fileObj,response,data){
  11. varfm=document.forms[0];
  12. varfileInputs=document.getElementsByName("logos");
  13. for(vari=0;i<fileInputs.length;i++){
  14. fm.removeChild(fileInputs[i]);
  15. }
  16. //生成隐藏字段
  17. varfileInput=document.createElement("input");
  18. fileInput.setAttribute("name","logos");
  19. fileInput.setAttribute("value",fileObj.name);
  20. fileInput.setAttribute("type","hidden");
  21. fm.appendChild(fileInput);
  22. }
  23. });
//upload file
            $("#fileUpload").fileUpload({
                'uploader': '${ctx}/js/uploadify/uploader.swf',
                'cancelImg': '${ctx}/js/uploadify/cancel.png',
                'script': '${ctx}/file/upload',
                'folder': 'upload',
                'multi': true,
                'buttonText': 'Select Files',
                'displayData': 'speed',
                onComplete:    function(event,queueID,fileObj,response,data) {
                                var fm = document.forms[0];
                                var fileInputs = document.getElementsByName("logos");
                                for(var i=0;i<fileInputs.length;i++){
                                    fm.removeChild(fileInputs[i]);
                                }
                                //生成隐藏字段
                                var fileInput = document.createElement("input");
                                fileInput.setAttribute("name","logos");
                                fileInput.setAttribute("value",fileObj.name);
                                fileInput.setAttribute("type","hidden");
                                fm.appendChild(fileInput);
                }
            });



页面body:

Java代码 复制代码
  1. <divid="fileUpload">Youhaveaproblemwithyourjavascript</div>
  2. <ahref="javascript:$('#fileUpload').fileUploadStart()">StartUpload</a>|<ahref="javascript:$('#fileUpload').fileUploadClearQueue()">ClearQueue</a>

引用自:http://bluelzx.javaeye.com/blog/360055

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值