使用Expo的React Native上传图像在iOS上随机出现错误

时间:2018-03-27 09:44:39

标签: react-native image-uploading multipartform-data expo

我正在将图像上传到服务器,imageUri是通过expo的ImagePicker拍摄的,这里是代码:

  const formData = new FormData()
  formData.append('picture', { uri: imageUri, name: filename, type })
  await fetch(uploadProfileImageURL, {
    method: 'POST',
    body: formData,
    header: {
       Accept: 'application/json',
      'Content-Type': 'multipart/form-data'
    }
  })

在Android上它就像一个魅力,但在iOS设备上随机,50%的时间工作,其余时间它给iOS网络错误:

  

“处理请求正文时出错:错误   Domain = ABI25_0_RCTErrorDomainCode = 0“无效的请求令牌。”   UserInfo = {NSLocalizedDescription =无效的请求令牌。}“

  • 我上传的网址是HTTPS
  • 尝试承诺而不是异步/等待但没有运气如果我尝试上传 到不同的服务器,问题是一样的,所以它不是服务器端 问题
  • 我尝试使用axios / XHR,但仍然出现同样的错误。唯一的错误 去,是我不附加图像的时候。如果我追加字符串键/值 然后它工作,但如果我追加图像,它随机不起作用。一世 已经在3种不同的iOS设备上测试过,有同样的问题。运用 最新的世博会。
  • 如果我使用try / catch或.catch(使用promises时),则错误不是 被抓住了
  • 在iOS模拟器上,它可以100%正常工作

2 个答案:

答案 0 :(得分:1)

那时

expo 版本升级到最新版本,从而解决了该问题。另外,某些用户在使用 expo-pixi 时也会遇到相同的问题。同样,升级 expo-pixi 的版本可以解决该问题。

答案 1 :(得分:0)

对我来说,错误是 formData 中的类型扩展。尝试动态设置。