用springboot上传图片后台一直获取不到数据,原因
后台
@RequestMapping(value="/savepicture", method = RequestMethod.POST)
public @ResponseBody String savepicture( @RequestParam("file") MultipartFile image){
// MultipartFile file = ((MultipartRequest) request).getFile("file");
return imageService.savepicture(image);
}
@RequestParam("file")这个必须写,这样后台就能获取到数据了。
实现类的代码
@Value("${web.upload-path}")
private String path;
public String savePicture(MultipartFile image, Map map){
if (image == null) {
return JavaUtils.result(null,30004);
}else {
//获取图片类型
String exName = image.getOriginalFilename().substring(image.getOriginalFilename().lastIndexOf("."));
String fileName;
//使用工具类UUID给图片重命名,也是图片的id
String capture_id = UUID.randomUUID().toString().replaceAll("-", "");
//图片保存地址
String CaptureImg;
//创建时间24小时制
String CaptureCreation;
fileName = capture_id+ exName;
//为了便于我们查找图片,将保存路径以 年 / 月 / 日 / 的格式命名
StringBuilder realPath;
realPath = new StringBuilder( path + "/");
Date date;
date = new Date();
SimpleDateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyyMMdd");
realPath.append(dateFormat.format(date) + "/" + fileName);
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//保存路径
CaptureImg = realPath.toString();
CaptureCreation = dateFormat.format(date);
map.put("capture_id",capture_id);
map.put("capture_img",CaptureImg);
map.put("capture_creation",CaptureCreation);
File file = new File(realPath.toString());
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
try {
image.transferTo(file);
captureMapper.setData(map);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
return JavaUtils.result(null, 30010);
}
}
return JavaUtils.result(null,30000);
}