Form上传多图片

   /** 
     * 获取多个文件,,注意问题:
* 1.表单无需属性enctype="multipart/form-data"
* 2.前台使用XMLHttpRequest对象或ajax发送数据
* 3.前台使用FormData对象获取多个文件 * @param request * @return * @throws Exception */ @RequestMapping("/multi/save.do") public String save(HttpServletRequest request) throws Exception{ //转为MultipartHttpServletRequest MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //获取所有的文件 Map map = multipartRequest.getFileMap(); MultipartFile multipartFile = null; for (Iterator i = map.keySet().iterator(); i.hasNext();) { DemoMultiPhoto photo = new DemoMultiPhoto(); Object obj = i.next(); multipartFile = (MultipartFile) map.get(obj); //获取文件名称 String fileName = multipartFile.getOriginalFilename(); //获取文件内容,二进制传送过来的 byte[] content = multipartFile.getBytes(); photo.setName(fileName); photo.setPhotoParentId(content); multiFileService.doSave(photo); } return "multiFile"; } /** * 只能获取单个文件(其他文件被覆盖),注意问题:
* 1.表单属性enctype="multipart/form-data",二进制流传送数据
* 2.表单文件控件必须有name属性
* 3.后台接受文件控件时,类型不是String,而是{@link MultipartFile},否则接受数据为null
* 4.HttpServletRequest转为MultipartHttpServletRequest,否则接受数据为null
* 5.只能获取一个文件,其他文件被覆盖(key不能重复) * @param request * @param name * @param ph 对象必须为{@link MultipartFile} * @return * @throws Exception */ @RequestMapping("/multi/save2.do") public String save2(HttpServletRequest request, String name, MultipartFile ph) throws Exception{ //转为MultipartHttpServletRequest MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //遍历上传的多文件,其map的Key值是file控件的name属性,所以只能保存单个文件(key不重复,被覆盖) Map map = multipartRequest.getFileMap(); MultipartFile multipartFile = null; for (Iterator i = map.keySet().iterator(); i.hasNext();) { DemoMultiPhoto photo = new DemoMultiPhoto(); Object obj = i.next(); multipartFile = (MultipartFile) map.get(obj); //获取文件名称 String fileName = multipartFile.getOriginalFilename(); //获取文件内容,二进制传送过来的 byte[] content = multipartFile.getBytes(); photo.setName(fileName); photo.setPhotoParentId(content); multiFileService.doSave(photo); } return "multiFile"; }

对应JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>  
  
  
    
      
    MultiFile 多图片上传  
      
      
    
    
        

支持jpg、jpeg、png、gif格式,大小不超过5.0M


支持jpg、jpeg、png、gif格式,大小不超过5.0M



你可能感兴趣的:(web)