Javascript React本机获取API POST文件-网络请求失败

Javascript React本机获取API POST文件-网络请求失败,javascript,react-native,file,post,xmlhttprequest,Javascript,React Native,File,Post,Xmlhttprequest,我正在努力做到以下几点: let result = await DocumentPicker.getDocumentAsync({}); result.type = "application/config"; this.setState({ file: result }); 使用Expo在React本机应用程序中选择我的移动设备上的文件 使用我的应用程序API和React Native中内置的获取API将该文件发送到我的PHP(Laravel)服务器 该文件是XML格式的.confi

我正在努力做到以下几点:

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

this.setState({
    file: result
});
  • 使用Expo在React本机应用程序中选择我的移动设备上的文件
  • 使用我的应用程序API和React Native中内置的获取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上运行此代码时,它会挂起,不会给我任何响应。有人知道我哪里出了问题吗?提前感谢。

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

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