SSM项目中文件上传controller层中文件上传代码重复过多,将其封装成工具类,方便以后的使用。
resource.properties
NOTICE_IMAGE_DIR=E:/upload/notice/
NOTICE_IMAGE_URL=http://localhost:8080/upload/notice/
Utils:
public static String fileUpload(MultipartFile file,String DIR,String URL){
String oldFileName = file.getOriginalFilename();
String extName = oldFileName.substring(oldFileName.lastIndexOf("."));
String newFileName = System.currentTimeMillis()+extName;
try {
FileUtils.copyInputStreamToFile(file.getInputStream(),new File(DIR,newFileName));
return "{\"error\":0,\"url\":\"" + URL + newFileName + "\"}";
} catch (IOException e) {
e.printStackTrace();
return "{\"error\":1}";
}
}
controller:
//文件上传
@Value("${NOTICE_IMAGE_DIR}")
private String NOTICE_IMAGE_DIR;
@Value("${NOTICE_IMAGE_URL}")
private String NOTICE_IMAGE_URL;
@RequestMapping(params = "act=upload")
@ResponseBody
public String upload(MultipartFile file){
return JsonUtils.fileUpload(file,NOTICE_IMAGE_DIR,NOTICE_IMAGE_URL);
}