最新公告当前位置:菲娱2国际 > 最新公告 > >

jQuery Ajax使用FormData对象上传文件的方法(2)

  

HTML代码  

  
  
  
      
  
  

这里没有

标签,也没有enctype="multipart/form-data"属性。 javascript代码  

  
  
  var formData = new FormData();  formData.append('file', $('#file')[0].files[0]);  $.ajax({  url: '/upload',  type: 'POST',  cache: false,  data: formData,  processData: false,  contentType: false  }).done(function(res) {  }).fail(function(res) {});
  
  

这里有几处不一样:  

  

append()的第二个参数应是文件对象,即$('#file')[0].files[0]。

  

  

contentType也要设置为‘false'。 从代码$('#file')[0].files[0]中可以看到一个标签能够上传多个文件, 只需要在里添加multiple或multiple="multiple"属性。

  

  

  

  

后台接收文件:  

  
  
        @RequestMapping(value = "/import_tg_resource")  public ModelAndView import_tg_resource(@RequestParam(value = "file", required = false) MultipartFile[] files, HttpServletRequest request, ModelMap model) {  System.out.println("开始批量上传:文件数量:" + files.length);  for (MultipartFile file : files ) {  String path = request.getSession().getServletContext().getRealPath("upload");  String fileName = file.getOriginalFilename();  String prefix = fileName.substring(fileName.lastIndexOf("."));  fileName = new Date().getTime() + prefix;  // System.out.println("保存路径 " + path);  File targetFile = new File(path, fileName);  if(!targetFile.exists()){  targetFile.mkdirs();  }  file.transferTo(targetFile);  }  }

(责任编辑:admin)

上一篇:javascript制作的滑动图片菜单

下一篇:没有了

推荐内容

客户服务热线

010-400-12345

在线客服