zoukankan      html  css  js  c++  java
  • Ajax提交用FormData()上传文件

    1.form声明如下

    2.ajax设置如下

    var formData = new FormData(document.getElementById("form"));
     $.ajax({
                 url:document.form.action,
                 type:"POST",
                 data:formData,
                 processData:false,   //  告诉jquery不要处理发送的数据
                 contentType:false,   // 告诉jquery不要设置content-Type请求头
                 success:function(data){
                     if(data == "ok"){
                         window.parent.splitpageform.submit();
                     }
                 },
                 error:function(data){
                
                 }
            });

    3.后台controller接收方法

    //将所有的照片都变成附件,这个是领用人上传照片节点要用到的,空的也加入list
        public static List<Attachment> getMultipartFilesContainEmpty(HttpServletRequest request){
            List<Attachment> attachs = new ArrayList<Attachment>();
            try{
                //创建一个通用的多部分解析器
                CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());  
                 //判断 request 是否有文件上传,即多部分请求
                if(multipartResolver.isMultipart(request)){
                    //转换成多部分request    
                    MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;  
                    //取得request中的所有文件名  
                    Iterator<String> iter = multiRequest.getFileNames();  
                    while(iter.hasNext()){  
                        //取得上传文件  
                       String key =  iter.next();
                       List<MultipartFile> files = multiRequest.getFiles(key);  
                        if(files != null && files.size() > 0 ){   
                            for(MultipartFile file : files){
                                Attachment attach = FileLoad.upLoad(request, file);
                                if(null != attach){
                                    attach.setTablename(key);
                                }else{
                                    attach = new Attachment();
                                    attach.setTablename("empty");
                                }
                                attachs.add(attach);
                            }
                        }  
                    }  
                   return attachs;
                }
                return attachs;
            }catch(Exception e){
                e.printStackTrace();
                return attachs;
            }
        }

  • 相关阅读:
    (转)悲催IT男的心酸恋爱史
    javascript递归函数问题
    《Professional Javascript For Web Developers 3rd Edition》读书笔记:javascript闭包中的this对象
    X509Store获取不到证书的问题
    [源码解析] PyTorch 分布式(7) DistributedDataParallel 之进程组
    [源码解析] PyTorch 分布式(8) DistributedDataParallel之论文篇
    [源码解析] PyTorch 分布式(10)DistributedDataParallel 之 Reducer静态架构
    [源码解析] PyTorch 分布式 Autograd (2) RPC基础
    [源码解析] PyTorch 分布式(9) DistributedDataParallel 之初始化
    [源码解析] PyTorch 分布式(12) DistributedDataParallel 之 前向传播
  • 原文地址:https://www.cnblogs.com/hpuiotcl/p/10277752.html
Copyright © 2011-2022 走看看