React native 在iOS上将本机上载映像响应到服务器

React native 在iOS上将本机上载映像响应到服务器,react-native,file-upload,react-native-ios,React Native,File Upload,React Native Ios,我使用react native image picker从IOS设备(emulator)获取图像,我的代码如下: try { ImagePicker.launchImageLibrary( { quality: 0.7, storageOptions:{ skipBackup:true, cameraRoll:true, waitUntilSaved:tru

我使用react native image picker从IOS设备(emulator)获取图像,我的代码如下:

try {
      ImagePicker.launchImageLibrary(
        {
          quality: 0.7,
          storageOptions:{
            skipBackup:true,
            cameraRoll:true,
            waitUntilSaved:true
          }
        },
        (response) => {
          console.log(response);
          if (response.didCancel || response.error === "Camera not available on simulator") return;
          camera(response);
        }
      );
    } catch (e) {
      console.log(e);
    }
在这之后,我有了一个带有uri、origURL、data和其他参数的对象 我尝试使用以下代码将此图像上载到服务器:

const postFormData = (url, formData, token) => {
  return fetch(URL_API + url, {
    body: formData,
    method: "POST",
    headers: {
        Accept: "application/json",
        "Content-Type": "multipart/form-data",
        Authorization: 'Bearer ' + token,
    },
})
    .then(response => {console.log(response); return response.json()})
    .catch(error => {
        console.log(error);
        alert("Upload failed!");
    });
}
我的表格数据:

photo = {
              uri: Platform.OS === 'ios' ? image.origURL.replace("file://", "") : image.uri,
              type: image.type,
              name: image.fileName,
              data: image.data,
          };
var form = new FormData();
form.append("image",photo);
我尝试origUrl,uri,尝试这个:
'data:image/jpeg;base64,“+image.data
而不是uri,尝试使用
替换(“文件:/”,“”)
,不使用
替换(“文件:/”,“”)
这一切都不起作用。 如果我尝试使用uri上载,则会出现以下错误:

如果我尝试使用Origur上载,我会出现以下错误:

如果我尝试使用
上传数据:image/jpeg;base64,“+image.data
相反,我在控制台中有一些错误


如何上传图片?也许这个问题只在iOS模拟器上出现?救命啊

我不知道为什么我不能用image.origURL和image.uri上传图像,但是当我插入uri
数据:image/jpeg;base64,“+image.data
,我无法上载图像,因为文件太大,它太大了,现在我在imagePicker选项中使用了质量为0.1的图像,并且所有操作都很好(对不起,我的英文版)))