话不多说,看代码
1,客户端调用代码
@PostMapping("/uploadAttachBase64")
public Result uploadAttachBase64(HttpServletRequest request, @RequestParam(value = "file",required = false) MultipartFile file,
@RequestParam(value = "orgId",required = false) String orgId) throws IOException {
// 校验登录
Map<String,Object> params = this.getLoginInfoMap(request);
if(StringUtils.isEmpty(orgId) || orgId.equals("")){
return Result.error("入参为空");
}
if(ObjectUtils.isEmpty(file) || file.getSize() <=0 ){
return Result.error("上传文件为空");
}
MultiValueMap valueMap = new LinkedMultiValueMap(1);
// 此处从multipartFile获取byte[],如果是上传本地文件可以使用io获取byte[]
ByteArrayResource is = new ByteArrayResource(file.getBytes()) {
@Override
public String getFilename() {
return file.getOriginalFilename();
}
};
valueMap.add("file", is);
valueMap.add("orgId",orgId);
String s = null;
RestTemplate restTemplate = new RestTemplate();
try {
s = restTemplate.postForObject(asiaInfoUrl + uploadAttachBase64, valueMap, String.class);
} catch (RestClientException e) {
e.printStackTrace();
}
return Result.success(JSONObject.parseObject(s));
}
2,服务端接口
参考:https://blog.csdn.net/qq_32513795/article/details/107958713
记录一下平常遇到的问题及新的知识,方便以后查看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~