【发布时间】:2021-09-18 00:25:01
【问题描述】:
我正在尝试使用 Axios 发布一张图片的原始数据,在使用react-native-image-picker 拍摄后。
我使用这段代码成功生成了一个 blob:
const file = await fetch(response.uri);
const theBlob = await file.blob();
如果我检查 blob 的元数据,一切正常:MIME 类型、大小等。
但是,当我尝试使用 Axios 发布它时,使用:
axios({
method: "POST",
url: "https://my-api-endpoint-api.example.org",
data: theBlob,
});
我在 API 端收到的是这个奇怪的 JSON 负载:
{"_data":{"lastModified":0,"name":"rn_image_picker_lib_temp_77cb727c-5056-4cb9-8de1-dc5e13c673ec.jpg","size":1635688,"offset":0,"type":"image/jpeg","blobId":"83367ee6-fa11-4ae1-a1df-bf1fdf1d1f57","__collector":{}}}
相同的代码在 React 上运行良好,我在尝试使用 File 对象而不是 Blob 对象时有相同的行为。
我在其他答案中看到我可以使用 Axios 以外的其他东西,例如 RNFetchBlob.fetch(),但由于我在 React 网站和 React Native 应用程序之间使用共享功能,我真的更喜欢一种允许我使用的方法使用 Axios 和Blobs。
有什么办法可以解决吗?
【问题讨论】:
标签: javascript reactjs react-native axios