【发布时间】:2019-05-17 19:35:39
【问题描述】:
这是我第一次尝试使用 FormData 上传图片。基本上它是一个带有标题的 POST 方法:content-type: 'multipart/form-data' 和一个请求正文如下:
const data = new FormData();
data.append('someKey', {"amount": "300"});
data.append('photo', {
filename: 'file_a.png',
type: 'image/png',
uri: /Users/isaac/Library/...../file.png
});
当数据没有 photo 键时,它似乎工作正常,但是当添加键 photo 时,服务器将抛出错误代码 500。我想知道哪一部分可能出错了?
我也尝试过content-type: 'application/x-www-form-urlencoded',数据保持不变,但两个结果相同,给我错误 500?
【问题讨论】:
-
你能在服务器上记录错误吗?
-
@Roi:目前不可能,因为它由后端团队处理。在继续之前,我希望确保我在综合方面 100% 正确
-
您能否尝试像处理上面的对象一样将所有字段包围在 quoutes 中。所以它将是 "filename": "file_a.png", "type": "image/png", "uri" "/Users..."
-
让我在这里的代码很难。您已显示前端代码但未显示后端代码。强类型语言管理上传可能很糟糕。即使您错过了前端类型方面的某些内容,如果您的后端 rest API 设计不符合标准,它们也会抛出 500 错误。后端看起来很简单,但如果做得不好或没有人完成,可能会很困难。您还可以根据后端文档放置所需的内容吗?文档是最重要的,在您的问题中也是如此。请添加 swagger 或打开 API REST API 要求文档。它会帮助别人,也会帮助你。
标签: reactjs rest api react-native axios