spring文件上传(使用第三方)
commons-fileupload.jar
导入依赖 jar
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
Controller.java
/**
* 文件上传
* @param file
* @param req
* @return
*/
@RequestMapping("/uploadFile")
public JsonResponse uploadFile(MultipartFile file, HttpServletRequest req){
JsonResponse resp = new JsonResponse();
//图片名
String fileName = file.getOriginalFilename();
String end = fileName.substring(fileName.lastIndexOf("."));
String newName = UUIDUtil.getUUID()
.replaceAll("-","")+end;
//图片包
ServletContext servletContext = req.getServletContext();
String realPath = servletContext.getRealPath("/files");
//创建包
File filePath = new File(realPath);
if(!filePath.exists()){
filePath.mkdirs();
}
//包里写入图片
File picPath = new File(realPath,newName);
try {
//写入
file.transferTo(picPath);
Pic pic = new Pic();
pic.setId(UUIDUtil.getUUID());
pic.setSavePath("/files/"+newName);
pic.setOldName(fileName);
resp.setCode(200);
resp.setData(pic);
resp.setMsg("上传成功!");
return resp;
} catch (IOException e) {
e.printStackTrace();
}
resp.setCode(500);
resp.setData("error");
resp.setMsg("上传失败!");
return resp;
}
ApplicationContext.java
配置文件 配置文件上传
/**
* 文件上传
*/
@Bean
public CommonsMultipartResolver multipartResolver(){
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSize(1048576); //上传文件最大
return resolver;
}
}
上传成功 !