Javascript 从react native获取文件以上载图像,与`<;输入类型=";文件";onChange={this.fileChangedHandler}>`
我已经试过了Javascript 从react native获取文件以上载图像,与`<;输入类型=";文件";onChange={this.fileChangedHandler}>`,javascript,node.js,reactjs,react-native,react-native-fs,Javascript,Node.js,Reactjs,React Native,React Native Fs,我已经试过了 var photo = { uri: uriFromCameraRoll, type: 'image/jpeg', name: 'photo.jpg', }; 和使用 axios 在删除配置时,我得到 错误503 它提供了配置 错误:多部分:未找到边界 和邮递员一起工作也很好。。。连同标题 我也尝试过上传文件(blob),但同样的错误是 错误:多部分:未找到边界 API在带有代码的ReactJS中运行良好 编辑:我已经通过使用解决了问题,但希望通过使用a
var photo = {
uri: uriFromCameraRoll,
type: 'image/jpeg',
name: 'photo.jpg',
};
和使用
axios
在删除配置时,我得到
错误503
它提供了配置
错误:多部分:未找到边界
和邮递员一起工作也很好。。。连同标题
我也尝试过上传文件(blob),但同样的错误是
错误:多部分:未找到边界
API在带有代码的ReactJS中运行良好
编辑:我已经通过使用解决了问题,但希望通过使用axios解决问题
代码如下:
RNFetchBlob.fetch('POST', 'https://helloapp.herokuapp.com/api/v1/upload', {
'authorization': jwtToken,
'Content-Type': 'multipart/form-data',
},
[
{ name: 'image', filename: 'avatar-png.png', type: 'image/png', data: base64logo },
{ name: 'name', data: name }
]
).then((resp) => {
console.log(resp);
}).catch((err) => {
console.log(err);
});
RNFetchBlob.fetch('POST', 'https://helloapp.herokuapp.com/api/v1/upload', {
'authorization': jwtToken,
'Content-Type': 'multipart/form-data',
},
[
{ name: 'image', filename: 'avatar-png.png', type: 'image/png', data: base64logo },
{ name: 'name', data: name }
]
).then((resp) => {
console.log(resp);
}).catch((err) => {
console.log(err);
});
永远不要在发送文件时定义内容类型头。 浏览器/邮递员将自动添加它,如下所示
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7BojnnMEteO0aHWP
表单边界是表单数据的分隔符。边界是在发送请求时计算的,所以您不能硬编码它
这就是为什么找不到错误边界
现在,您可以使用fetch、axios或其他任何工具,它将起作用
这是MDN Fetch文档中未捕获的非常重要的信息我已使用解决了问题,但希望使用axios解决问题 代码如下:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7BojnnMEteO0aHWP
RNFetchBlob.fetch('POST', 'https://helloapp.herokuapp.com/api/v1/upload', {
'authorization': jwtToken,
'Content-Type': 'multipart/form-data',
},
[
{ name: 'image', filename: 'avatar-png.png', type: 'image/png', data: base64logo },
{ name: 'name', data: name }
]
).then((resp) => {
console.log(resp);
}).catch((err) => {
console.log(err);
});