java后端的http接口,接收app上传的图片和相关的数据,其他数据能接收,但图片数据没有
java后端获取前端json图片数组,没有图片数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
从描述来看,后端在处理前端发送的包含图片和其它数据的请求时,只收到了文本数据,而没有接收到图片数据。这通常发生在处理
multipart/form-data
类型的POST请求时,因为图片数据是以二进制形式附带在请求中的。为了解决这个问题,后端的控制器方法应该使用正确的注解来接收文件数据。下面是一个修改后的示例代码,展示如何在Spring Boot应用中正确地接收文件和其它表单数据:
import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @RestController @RequestMapping("/check") public class PhotoDemo { @PostMapping(value = "/CheckManager", produces = "application/json;charset=utf-8") public String demo(@RequestParam("files") MultipartFile[] files, @RequestParam Map<String, String> otherData) { for (MultipartFile file : files) { System.out.println("File Name: " + file.getOriginalFilename()); System.out.println("File Size: " + file.getSize()); } System.out.println("Other Data: " + otherData); return "Files and data received successfully."; } }
在这个例子中,
@RequestParam("files") MultipartFile[] files
用于接收一个或多个文件,而@RequestParam Map<String, String> otherData
用于接收其它非文件数据。注意,files
参数的名字应与前端发送请求时使用的name
属性匹配。对于前端(APP)部分,确保在发送请求时使用了
multipart/form-data
作为Content-Type
,并且每个文件字段都有正确的name
属性,例如name="files"
。如果前端是使用JavaScript或任何其他语言通过API发送请求,确保请求是这样构造的:
let formData = new FormData(); formData.append('files', fileBlob1, 'file1.png'); formData.append('files', fileBlob2, 'file2.png'); formData.append('dj', '15'); formData.append('pdr', 'admin'); // ... 添加其他数据 fetch('/check/CheckManager', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error));
以上代码展示了如何从前端发送包含多个文件和其他数据的
multipart/form-data
请求。如果按照这些步骤操作仍然遇到问题,建议检查服务器的日志以寻找更具体的错误信息,或者使用网络调试工具(如Chrome DevTools的Network标签页)来检查请求的实际内容和响应状态。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 模电中二极管,三极管和电容的应用
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络