【问题标题】:React Native fetch API POST file - Network Request FailedReact Native fetch API POST文件 - 网络请求失败
【发布时间】:2020-03-12 19:58:14
【问题描述】:

我正在尝试执行以下操作:

  1. 在我的移动设备上使用 Expo 在 React Native 应用程序中选择一个文件
  2. 使用我的应用程序 API 和 React Native 中内置的 fetch API 将该文件发送到我的 PHP (Laravel) 服务器

该文件是 XML 格式的 .config 文件。我的代码如下:

const XHR = new XMLHttpRequest(),
FD  = new FormData();

FD.append('xmldata', this.state.file);
FD.append('meterid', 113);

XHR.addEventListener('load', function(event) {
    console.log('SUCCESS');
});

XHR.addEventListener(' error', function(event) {
    alert('Error');
});

XHR.onreadystatechange = function () {
    console.log(XHR.status);
};

XHR.open('POST', MY_API_URL);

XHR.send(FD);

我的代码在 iOS 上运行,但我无法在 Android 设备上运行。当我在 Android 上运行此代码时,它会挂起并且没有给我任何响应。有谁知道我在这里哪里出错了?提前致谢。

【问题讨论】:

    标签: javascript react-native file post xmlhttprequest


    【解决方案1】:

    我已经通过在选择文件后显式设置文件类型来解决这个问题。我现在选择文件的代码如下:

    let result = await DocumentPicker.getDocumentAsync({});
    result.type = "application/config";
    
    this.setState({
        file: result
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 2019-09-09
      相关资源
      最近更新 更多