使用 Expo 的 React Native 上传图片在 iOS 上随机给出错误
React Native upload image using Expo gives errors randomly on iOS
我正在上传图片到服务器,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 网络错误:
"Error processing request body: Error
Domain=ABI25_0_RCTErrorDomainCode=0 "Invalid request Token."
UserInfo={NSLocalizedDescription=Invalid request token.}"
- URL 我上传的地方是 HTTPS
- 尝试使用 promises 而不是 async/await 但没有成功 如果我尝试上传
到不同的服务器,问题是一样的,所以它不是服务器端
问题
- 我尝试使用 axios/XHR,但仍然出现同样的错误。唯一的时间错误
去,是当我不附加图像。如果我追加字符串 key/values
然后它可以工作,但是如果我随机附加图像它就不起作用。我
已在 3 种不同的 iOS 设备上进行测试,遇到同样的问题。使用
最新的 expo sdk.
- 如果我使用 try/catch 或 .catch(当使用 promises 时)错误不是
被抓
- 在 iOS 模拟器上 100% 的时间都可以工作
届时将 expo 版本升级到最新版本解决了这个问题。还有一些用户在使用 expo-pixi 时遇到了同样的问题。再次升级expo-pixi版本即可解决
对我来说,错误是 类型扩展 ,在 formData 中。尝试动态设置。
我正在上传图片到服务器,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 网络错误:
"Error processing request body: Error Domain=ABI25_0_RCTErrorDomainCode=0 "Invalid request Token." UserInfo={NSLocalizedDescription=Invalid request token.}"
- URL 我上传的地方是 HTTPS
- 尝试使用 promises 而不是 async/await 但没有成功 如果我尝试上传 到不同的服务器,问题是一样的,所以它不是服务器端 问题
- 我尝试使用 axios/XHR,但仍然出现同样的错误。唯一的时间错误 去,是当我不附加图像。如果我追加字符串 key/values 然后它可以工作,但是如果我随机附加图像它就不起作用。我 已在 3 种不同的 iOS 设备上进行测试,遇到同样的问题。使用 最新的 expo sdk.
- 如果我使用 try/catch 或 .catch(当使用 promises 时)错误不是 被抓
- 在 iOS 模拟器上 100% 的时间都可以工作
届时将 expo 版本升级到最新版本解决了这个问题。还有一些用户在使用 expo-pixi 时遇到了同样的问题。再次升级expo-pixi版本即可解决
对我来说,错误是 类型扩展 ,在 formData 中。尝试动态设置。