springboot上传图片
1 controller层
@PostMapping("/uploadPictrue")
@ResponseBody
public Object uploadIconPictrue(@RequestParam("files") MultipartFile[] multipartFiles,
@RequestParam(value = "id",required = false) Long id,
@SessionAttribute("userName") String uname) throws Exception {
return service.uploadPictrue(multipartFiles[0], id, uname);
}
2,service层
//服务器中的位置
private static final String C_PATH = File.separator + "images" + File.separator + "icon" + File.separator;
//table表中保存的位置
private static final String TABLE_PATH = File.separator + "outsource" + File.separator + "icon" + File.separator;
@Override
public String uploadPictrue(MultipartFile file, Long id, String updater) throws Exception {
//保存在服务器中
saveIconPicTolocation(file);
//数据表中的icon路径
String location = TABLE_PATH + file.getOriginalFilename();
if (id != null) {
outMapper.updatePath(outsourceTableName, id, updater, location);
}
return location;
}
private void saveIconPicTolocation(MultipartFile file) throws IOException {
String location = C_PATH + file.getOriginalFilename();
InputStream inputStream = null;
FileOutputStream outputStream = null;
try {
inputStream = file.getInputStream();
byte[] bs = new byte[inputStream.available()];
inputStream.read(bs);
outputStream = new FileOutputStream(this.getClass().getClassLoader().getResource("").getPath() + location);
outputStream.write(bs);
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}

浙公网安备 33010602011771号