【问题标题】:File Upload is not uploading in React Native iOS, Same is working in android platform文件上传不在 React Native iOS 中上传,同样在 android 平台上工作
【发布时间】:2021-05-03 03:54:09
【问题描述】:

我正在尝试从 React Native 应用程序上传文档、文件。该 api 在 Android 平台上运行良好,但在 iOS 中,我无法上传。我正在使用 apisauce 版本 ^2.0.0,奇怪的是我没有收到任何错误。服务器没有收到请求。

以下是表单数据: { "_parts": [ [ "attachment", { "uri": "file:///Users/yogeshchauhan/Library/Developer/CoreSimulator/Devices/3BCF94FF-0E3E-41E4-B1D5-700E1F85BF4F/data/Containers/Data/Application/9E8CB982-DB6F-439F-BFB8-0DB341E15768/Library/Caches/ImageManipulator/0D8DAD55-4658-4132-A118-12F2302ACF93.jpg", "type": "image/jpeg", "name": "C23BD088-411F-4C4A-A6B0-82DB9945D49A.jpg" } ] ] }

我正在使用以下版本的反应: “反应”:“16.13.1”, “反应原生”:“0.63.0”

【问题讨论】:

    标签: ios react-native file uploading


    【解决方案1】:

    在 iOS 中,您必须从 uri 中删除 file://,传递不带 file:// 的图像路径。例如,在您的状态变量之一中选择文件选择集选定图像,例如将其称为selectedImage。当您传递图像时,将file:// 替换为基于设备的空白字符串,如下所示:

      const datas = new FormData();
    
      datas.append('images', {
        name: selectedImage.fileName,
        type: selectedImage.type,
        uri:
          Platform.OS === 'android' ? selectedImage.uri : selectedImage.uri.replace('file://', ''),
      });
    

    【讨论】:

    • 我的 formData 如下:{ "_parts": [ [ "attachment", { "uri": "/Users/yogeshchauhan/Library/Developer/CoreSimulator/Devices/3BCF94FF-0E3E-41E4-B1D5-700E1F85BF4F/data/Containers/Data/Application/9E8CB982-DB6F-439F-BFB8-0DB341E15768/Library/Caches/ImageManipulator/12D07910-71BC-4341-83DD-436C489197A5.jpg", "type": "image/jpeg", "name": "7A08AAD4-F543-4988-A43E-2196F5A699B9.jpg" } ] ] } 仍然 api 没有触发,也没有抛出错误。感觉很无奈:(
    • 你是在传递整个对象吗?你能告诉我你遇到了什么错误吗?
    猜你喜欢
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多