今天做项目脑子有点浆糊,好了,就不多说了直接上代码
public void uploading(HttpServletRequest request, Message message, BindingResult result,
@RequestParam(value = "files", required = false) MultipartFile multipartFile) {
String realpath = "";
// 获取文件名
String name = "";
String newName="";
if (multipartFile != null) {
//获取文件的大小
long size = multipartFile.getSize();
if (size > 1048576) {
SUCCESS_TIP.setCode(-1000);
SUCCESS_TIP.setMessage(BizExceptionEnum.UPLOAD_ERROR.getMessage());
}
//获取上传过来图片(文件)的名称
name = multipartFile.getOriginalFilename();
//截取名称 ,获取后缀
String subffix = name.substring(name.lastIndexOf(".") + 1, name.length());
//防止名称一致 重命名名称
String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
//拼接全部名称 带后缀
newName=fileName+"."+subffix;
//long size = multipartFile.getSize();
////创建指定路径
String filepath = request.getServletContext().getRealPath("/upload") + File.separator;
File file = new File(filepath);
//如果文件夹不存在就创建一个
if (!file.exists()) {
file.mkdirs();
}
try {
// 转存文件到指定路径
multipartFile.transferTo(new File(file + File.separator + fileName + "." + subffix));
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//拼接成一个新的路径
realpath = file + File.separator + fileName + "." + subffix;
}
message.setStatus("1");
message.setPicture(newName);
message.setPrictureAddress(realpath);
message.setMegType("1");
this.messageService.messageInsert(message);
}
SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file
<!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"
p:maxUploadSize="5400000"
p:uploadTempDir="fileUpload/temp"
>
</beans:bean>
其中属性详解:
defaultEncoding=”UTF-8” 是请求的编码格式,默认为iso-8859-1
maxUploadSize=”5400000” 是上传文件的大小,单位为字节
uploadTempDir=”fileUpload/temp” 为上传文件的临时路径
- 使用SpringMVC注解RequestParam来指定表单中的file参数;
- 指定一个用于保存文件的web项目路径;
- 通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径;
虽然项目没有上传多个文件,但还是上网看了看,网上还是有写的好的,我这里就不贴上去了,免的献丑!(比较也还没做过多个文件上传 -,-)