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
转载请注明原文地址: https://ju.6miu.com/read-5395.html