react-native - react-native 上传图片 react-native-fetch-blob
问题描述
我正在尝试将文件从移动设备(iOS 和 Android)上传到 Amazon S3。
我使用 react-native-fetch-blob 尝试了各种方法。
最新的想法是使用 react-native-fetch-blob readfile
RNFetchBlob.fs.readFile(image.path, 'base64').then(data => //在这里上传 );
但不幸的是,这会上传文件的 base64 版本,该文件不会显示在网络上。
如何上传简单的图像?
解决方案
这段代码对我有用:
RNFetchBlob.fetch(
'POST',
`${BASE_URL}vehicle/vehicleRegistration`,
{
Authorization: 'Bearer ' + authToken,
'Content-Type': 'multipart/form-data,octet-stream',
},
[
{
name: 'photo',
filename: 'vid.mp4',
data: RNFetchBlob.wrap(vehicleImage.uri),
},
{
name: 'email',
data: user.email,
},
{
name: 'userId',
data: user.id,
},
{
name: 'vehicleType',
data: values.vehicleType,
},
{
name: 'make',
data: values.make,
},
{
name: 'buildYear',
data: values.buildYear,
},
{
name: 'model',
data: values.model,
},
{
name: 'nickName',
data: values.nickName,
},
{
name: 'engineSize',
data: values.engineSize,
},
],
)
.uploadProgress((written, total) => {
console.log('uploaded', written / total);
})
.then(response => response.json())
.then(RetrivedData => {
console.log('---retrieved data------', RetrivedData);
Toast.show({
text1: 'Success',
text2: 'Vehicle Added to Garage!',
type: 'success',
});
})
.catch(err => {
console.log('----Error in adding a comment----', err);
Toast.show({
text1: 'Request Failed',
text2: err?.response?.data?.message,
type: 'error',
});
});
推荐阅读
- java - 当本地一切正常时,Spring Boot Security 会导致应用程序在部署到 GAE 时关闭
- python - 订购在 pydrive 中列出子项的结果
- fastapi - 我应该缓存 FastAPI 依赖项吗?
- git - 从提交中获取作者登录名(或用户名)
- javascript - 如何映射一个对象数组并单独显示每个对象?我希望显示每个披萨订单
- netlify - Netlify CMS 自定义预览问题危险SetInnerHTML={{ __html: widgetFor('body') }} 在/admin 预览中显示[object Object]
- .htaccess - 通过 htaccess 删除 URL 字符串查询中的空格
- javascript - 是否可以让python文件在后台运行并不断刷新render_template?
- python - 在 OSX 上的 anaconda virtualenv 上导入 cv2 失败
- sql - 数据库 SQL 选择不同