使用FormData()反应Native Fetch()HTTP TypeError:网络请求失败

时间:2017-01-20 19:45:01

标签: reactjs react-native

在Android上粘贴图片后,使用 FormData()获取()将帖子和图像文件发布到我的服务器。

我使用的公共IP没有发布到我的localhost或任何东西而且没有使用HTTPS,也使用Genymotion Emulator。

我的代码:

      var fd = new FormData();
      fd.append('image', {path:'file:///'}); 

      fetch(UPLOAD_URI,{
        method: 'POST',
        headers: {
          'Content-Type': 'multipart/form-data',
        },
        body: fd
        }).then(response => {
          console.log("image uploaded")
        }).catch(err => {
          console.log(err)
        })

错误返回在catch中作为参数错误:

TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (fetch.js:441)
    at XMLHttpRequest.dispatchEvent (event-target.js:172)
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:542)
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:378)
    at XMLHttpRequest.js:482
    at RCTDeviceEventEmitter.emit (EventEmitter.js:181)
    at MessageQueue.__callFunction (MessageQueue.js:236)
    at MessageQueue.js:108
    at guard (MessageQueue.js:46)
    at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:107)

是否缺少某种权限,问题是什么?

干杯,

1 个答案:

答案 0 :(得分:0)

对于我在android上的案例,以下模块帮助我解决了这个问题,因为它使用java将我的文件发送到服务器并在PHP中使用$ _FILES获取:

getAttribute

我的代码:

npm install react-native-file-transfer-android

干杯。