开始的代码:
@PostMapping(value = "/api/upload")
public Result<String> upload(MultipartFile fileStr) {
// 分页查询
return ResultUtil.success(mService.upload(fileStr));
}
结果是为空:
改成实体去接参数也不行。废话不多说,直接说解决方法。
@Autowired
private OpenMinioService minioService;
@PostMapping(value = "/api/upload")
public Result<String> upload(@RequestBody String fileStr) {
// 分页查询
return ResultUtil.success(mService.upload(fileStr));
}
接收到参数,解析为输入流:
//解码base64
String dataStr = fileStr.replace("data:image/jpeg;base64,","");
byte[] data = Base64.decodeBase64(dataStr);
in = new ByteArrayInputStream(data);
postman的调用:
后来和前端对接过程中,直接传数据不带key的这种方式会被拦截,到不了后端,后来经比对。发现我的Headers中有个参数Content-Length被我写死了,且这个设置的长度比我实际参数小,所以一致接收不到参数,😓