猿问

React Native fetch API POST文件 - 网络请求失败

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

  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 上运行此代码时,它会挂起并且没有给我任何响应。有谁知道我在这里哪里出错了?提前致谢。


慕森王
浏览 185回答 1
1回答

哈士奇WWW

我已经通过在选择文件后显式设置文件类型来解决这个问题。我选择文件的代码现在如下:let result = await DocumentPicker.getDocumentAsync({});result.type = "application/config";this.setState({    file: result});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答