React native 反应本机获取文件上载错误

React native 反应本机获取文件上载错误,react-native,fetch-api,React Native,Fetch Api,我正在尝试使用fetch将图像文件上载到我的服务器。以下是我正在使用的代码: var formData = new FormData(); formData.append('photo', {uri: './tempImageStore/image.jpg', name: 'photo', type: 'image/jpg'}); 及 fetch('http://localhost:8000/upload', { 方法:“POST”, 标题:{ “接受”:“多部分/表单数据”, “内容

我正在尝试使用fetch将图像文件上载到我的服务器。以下是我正在使用的代码:

var formData = new FormData();
    formData.append('photo', {uri: './tempImageStore/image.jpg', name: 'photo', type: 'image/jpg'});

fetch('http://localhost:8000/upload', {
方法:“POST”,
标题:{
“接受”:“多部分/表单数据”,
“内容类型”:“多部分/表单数据”
},
正文:formData
})
}
title={'Upload File'}
/>
但是,当我运行我的应用程序并按下上载文件按钮时,我会收到一个错误,提示:


我不确定我做错了什么,或者这是否是将照片上传到服务器的正确方式

是,是否可以仅使用fetch API上载图像

我也面临同样的问题,我用以下方法解决了它:

首先,请确保删除URL开头的
文件//
,您可以这样做

const fileURL = "file:///Users/juordergonzalezquinonez/Library/Developer/CoreSimulator/Devices/046E9C13-5D5D-4463-82DD-256501874EBF/data/Containers/Data/Application/839C5E04-46BB-4F9B-BF53-3FDFF639F340/tmp/react-native-image-crop-picker/C07E6B9E-3113-41C2-AD80-A768DF33C263.jpg";
const cleanURL = fileURL.replace("file://", "");
然后在fetch请求中,确保您的头必须如下所示:

headers: {
  'Accept': 'application/json',
  'Content-Type': 'multipart/form-data;'
},

万一你无法使用它:我在这个图书馆很幸运。我更喜欢这个库,但我也犯了一个错误:我仍然可以上传一个带有“file://”前缀的文件。在Android中,你需要“file://”前缀,而在IOS中,你必须删除“file://”前缀
headers: {
  'Accept': 'application/json',
  'Content-Type': 'multipart/form-data;'
},