美文网首页
react-native 安卓上传文件失败 formData

react-native 安卓上传文件失败 formData

作者: Biao_349d | 来源:发表于2023-11-22 20:54 被阅读0次
    1. 安卓上传时上传失败,原因如下

      // https://www.jianshu.com/p/0cceba518540

      造成这个问题的原因是React Native 0.62后增加了对Flipper的支持。Flipper是一个移动APP的调试工具,由于默认支持的Flipper的版本低,存在兼容问题。导致调试模式下会出现上传文件发送请求失败的情况。
      解决方法: 使用原生的ajax请求

    
    function sendXmlHttpRequest(data, url, RequestHeader) {
      const xhr = new XMLHttpRequest();
      return new Promise((resolve, reject) => {
        xhr.onreadystatechange = e => {
          if (xhr.readyState !== 4) {
            return;
          }
          if (xhr.status === 200) {
            resolve(JSON.parse(xhr.responseText));
          } else {
            reject('Request Failed');
          }
        };
        xhr.open('POST', url);
        for (let key in RequestHeader) {
          xhr.setRequestHeader(key, RequestHeader[key]);
        }
        xhr.send(data);
      });
    }
    

    使用

     if (Platform.OS === 'android') {
          console.log('sendXmlHttpRequest');
          res = await sendXmlHttpRequest(formData, host, config.headers);
          console.log('android-res', res);
        }
    

    相关文章

      网友评论

          本文标题:react-native 安卓上传文件失败 formData

          本文链接:https://www.haomeiwen.com/subject/qjjwwdtx.html