springmvc多图片上传

来源:互联网 发布:php use关键字 编辑:程序博客网 时间:2024/06/02 03:37
HTML5类型为file的input可以支持上传多张图片,只需要添加multiple属性:
<input type="file" name="file" multiple="multiple"/>

controller中处理方法:
形参添加 HttpServletRequest request
RequestMapping(value = "/product_save", method = RequestMethod.POST)  public String saveProduct(Product product, BindingResult bindingResult, HttpServletRequest request,      RedirectAttributes redirectAttributes) throws Exception { 
处理方法
List<MultipartFile> files = null;  //得到多部分解析器  CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());  //判断request是否有文件上传,即多部分  if(multipartResolver.isMultipart(request)){      //转换为多部分request      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;      //取得multipartRequest中的所有文件      files = multipartRequest.getFiles("file");//file为页面file类型input的name  }
if(files != null && files.size() >0 ){ 
    //图片服务器路径      String file_path = "D:\\Github\\uploadFiles\\";      for(MultipartFile file : files){          if(file != null && file.getOriginalFilename() != null && file.getOriginalFilename().length()>0){              //原始文件名              String originalFileName = file.getOriginalFilename();              //创建新文件,路径为:图片服务器路径+新文件名              File newFile = new File(file_path + "\\" + originalFileName);              //将内存中的数据写入磁盘              file.transferTo(newFile);
    //下面可以把图片在虚拟图片服务器的路径信息保存到数据库
            //图片信息              Picture picture = new Picture();              picture.setPicName(originalFileName.substring(0, originalFileName.lastIndexOf(".")));              picture.setPicPath(originalFileName);</pre><pre class="java" name="code">           
    //保存picture 代码省略        }      }  
若是直接把图片保存到数据库,可采用类似思路处理file。
相关文章:http://blog.csdn.net/huajianjiu_/article/details/60469956

0 0
原创粉丝点击