老师,头像为什么会这样?
来源:7-20 上传图片前后端联调与测试
zbbest
2021-03-12

小头像的代码里面对大头像进行缩略吧,只是拼接了80x80的url,但是既没有把图片缩略成80x80,又没有上传到fastdfs。
/**
* @Description: 上传用户头像
*/
@PostMapping("/uploadFaceBase64")
public IMoocJSONResult uploadFaceBase64(@RequestBody UsersBO userBO) throws Exception {
// 获取前端传过来的base64字符串, 然后转换为文件对象再上传
String base64Data = userBO.getFaceData();
String userFacePath = "C:\\" + userBO.getUserId() + "userface64.png";
FileUtils.base64ToFile(userFacePath, base64Data);
// 上传文件到fastdfs
MultipartFile faceFile = FileUtils.fileToMultipart(userFacePath);
String url = fastDFSClient.uploadBase64(faceFile);
System.out.println(url);
// 获取缩略图的url
String thump = "_80x80.";
String arr[] = url.split("\\.");
String thumpImgUrl = arr[0] + thump + arr[1];
// 更细用户头像
Users user = new Users();
user.setId(userBO.getUserId());
user.setFaceImage(thumpImgUrl);
user.setFaceImageBig(url);
Users result = userService.updateUserInfo(user);
return IMoocJSONResult.ok(result);
}
写回答
1回答
-
风间影月
2021-03-12
这个问题链路很长,需要从头开始检查,首先需要保证fastdfs安装成功,可以在Linux内部测试上传,并且在nginx结合以后,可以在浏览器打开显示图片。这个必须要做好的。
好了以后,就在代码层去实现上传。如果不行,那就是代码逻辑问题或者代码配置问题。
每个步骤都检查一下吧。这个代码看不出啥问题的,可以直接把老师代码复制过去测试也行噢~00
Netty+Spring Boot仿微信-全栈开发高性能后台及客户端
SpringBoot/Netty+MUI全栈开发 同时搞定后台+ Android&iOS
1501 学习 · 693 问题
相似问题