react-native - 如何使用 react-native 中的表单数据通过 axios 上传图像
问题描述
我正在尝试使用 axios 和 formData 在本机反应中捕获图像后上传图像。我正在使用react-native-camera
包来捕获图像。
我检查了其他类似的答案,但没有一个有效。
这是我尝试过的两种方法,但它不起作用。我收到错误:以下方法中的网络错误。
let bodyFormData = new FormData();
bodyFormData.append(`q_image_${serial}`, {
uri: 'file:///data/user/0/com.student/cache/Camera/b6217266-35d5-4a0c-b09e-0c9f12777194.jpg',
type: 'image/jpeg',
name: 'someName',
});
const { data } = await axios({
method: 'post',
url: `${baseURL}/service.php`,
headers: {
'Content-Type': 'multipart/form-data'
},
data: bodyFormData
});
console.log('UPLOAD', data);
我使用以下方法从服务器收到未上传的图像响应。
let bodyFormData = new FormData();
bodyFormData.append(`q_image_${serial}`, 'file:///data/user/0/com.student/cache/Camera/b6217266-35d5-4a0c-b09e-0c9f12777194.jpg');
const { data } = await axios({
method: 'post',
url: `${baseURL}/service.php`,
headers: {
'Content-Type': 'multipart/form-data'
},
data: bodyFormData
});
console.log('UPLOAD', data);
服务器工作正常。我可以使用邮递员上传图片。
这是 react-native-camera 或 formData 或 axios 的问题吗?
编辑:我找到了。我正在使用 react-native 版本 0.62.*,这是github上的一个未解决问题。
解决方案
我发现了这个问题,目前这是 react-native 的一个开放问题。如果有人面临同样的问题并且使用的是 RN 版本 0.62.*,那么请按照以下步骤操作。
将 Flipper 版本更改为
gradle.properties
0.52.0FLIPPER_VERSION=0.52.0
出于某种原因,在此之后我遇到了一个多 dex 错误,如果你也面临同样的问题:
在
app/build.gradle
添加implementation 'com.android.support:multidex:1.0.3'
在.
multiDexEnabled true
_app/build.gradle
defaultConfig { applicationId "com.packageName" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" multiDexEnabled true }
推荐阅读
- ios - SwiftUI:如何在 UIViewControllerRepresentable 中访问 UIHostingController 的视图框架
- pycharm - 麦克米1。我使用 pycharm(arm64),我用 Rosetta 安装 pyqt,所以 pyqt 是 x86
- same-origin-policy - 无论如何在file:// html页面中使用esm?
- docker - 有没有办法在 dockerfiles 中使用容器注册表图像?
- websphere - IBM Watson Assistant 过滤不同的元素
- node.js - 如何在nodejs web3中连接到bnb
- python - ImportError:尝试在没有已知父包的情况下进行相对导入?
- java - Java maven项目,构建失败版本不匹配
- spring-boot - 如何通过spring b使用roleID和secretID从保险库访问凭据?
- python - python打印以下输出