【发布时间】:2020-05-18 16:09:13
【问题描述】:
我在向导中使用react-native-image-crop 选择器和react-redux。在该向导的一个步骤中,用户上传他/她的图像,最后将向导数据提交到服务器。
所以我使用这样的表单数据:
let formData = new FormData();
files?.forEach((f) => {
let pathParts = f.path.split('/');
let file = {
uri: Platform.OS === 'android' ? f.path : f.path.replace('file://', ''),
type: f.mime,
name: pathParts[pathParts.length - 1],
};
formData.append('attachments', file);
});
try {
let response = await axios.post('http://example.com/route', formData, {
headers: {'Content-Type': 'multipart/form-data'},
});
} catch (error) {
console.log(error);
console.log(formData);
}
有图片时有错误:
[Error: Network Error]
formData 包含:
{"_parts": [["attachments", [Object]]]}
每个文件都是这样的json:
{
"name": "cat_pic_9.jpg",
"type": "image/jpeg",
"uri": "file:///data/user/0/com.company.app/cache/react-native-image-crop-picker/cat_pic_9.jpg"
}
我试过global.originalFormData和单独安装Form-Data包,但没有区别。
现在我看到了这个错误:"_response": "read failed: EBADF (Bad file descriptor)"
:/
【问题讨论】:
标签: react-native file-upload axios multipartform-data