// 添加笔记带图片
//文件上传控制类,是核心配置类,Win <->Linux
// @RequestMapping(value = "/addTexts", produces = "application/json")
@PostMapping(value = "/addTexts")
public Text uploadPicture(HttpServletRequest request,
@RequestParam("userId") Long id,
@RequestParam("text") String content,
@RequestParam("tag") String tag) throws IOException {
request.setCharacterEncoding("utf-8"); //设置编码
MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
//对应前端的upload的name参数"image"
MultipartFile multipartFile = req.getFile("file");
System.out.println("传入的文件"+multipartFile);
//realPath填写电脑文件夹所在路径
String realPath = "D:\\upLoadImg";
//格式化时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
String nowTime = sdf.format(new Date().getTime());
System.out.println("*******************nowTime---"+nowTime);
//裁剪用户id
String originalFirstName = multipartFile.getOriginalFilename(); //获取文件名
System.out.println("*******************originalFirstName---"+originalFirstName);
String picFirstName = originalFirstName.substring(0, originalFirstName.indexOf("."));
System.out.println("*******************picFirstName---"+picFirstName);
//取得图片的格式后缀
String originalLastName = multipartFile.getOriginalFilename();
String picLastName = originalLastName.substring(originalLastName.lastIndexOf("."));
System.out.println("*******************picLastName---"+picLastName);
//拼接:名字+时间戳+后缀
String picName = nowTime+"." + picFirstName + picLastName;
System.out.println("*******************picName---"+picName);
// String picName1 = picFirstName+picLastName;
//图片上传成功之后的路径
ApplicationHome applicationHome=new ApplicationHome(this.getClass());
String imgPath=applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath()+
"\\src\\main\\resources\\static\\images";
System.out.println("*******************imgPath----"+imgPath);
File file = new File(imgPath, picName);
//添加如下代码
System.out.println("这里是图片上传路径——imgPath+picName"+file);
String path=imgPath+picName;
try {
// 上传图片操作
multipartFile.transferTo(file);
System.out.println("添加图片成功!");
System.out.println("图片上传成功后的路径"+path);
} catch (IOException e) {
e.printStackTrace();
imgPath = " ";
} catch (IllegalStateException e) {
e.printStackTrace();
imgPath = " ";
}
User user = userService.findUser(id);
System.out.println("根据传入的ID找到用户"+user);
Text text = new Text();
text.setContent(content);
text.setTag(tag);
text.setPicture(path);
text.setUser(user);
System.out.println("笔记添加成功");
return textService.addText(text);
}
imgPath的路径取错了,从src/main开始取,打成jar包之后就没有了