使用react-native-image-picker
和react-native-image-resizer
包,我从设备上的图库中选择图像并尝试上传此图像。我使用axios multipart/form-data将图像上传到后端服务器。在Android设备上成功上传图像,但在模拟器上失败,没有任何响应或错误。
这里是我的一些代码。我没有得到任何登录控制台。
let formBody = new FormData();
formBody.append('json', JSON.stringify(userBody));
//userBody is json request
let avatarObject;
if (avatarUri !== '' && avatarUri !== null) {
avatarObject = {
name: 'userImage.jpg',
type: 'image/jpeg',
uri: avatarUri
};
}
//avatarObject is image object for uploading here
if (typeof avatarObject !== 'undefined') {
formBody.append('file', avatarObject);
}
let myRequest = {
method: 'post',
url: URL.UPDATE_PERSONAL_DETAILS_With_IMAGE,
headers: {
Accept: 'application/json',
'Accept-Encoding': Platform.OS === 'ios' ? 'gzip' : '',
'Content-Type': 'multipart/form-data',
},
data: formBody,
};
return axios
.request(myRequest)
.then((res) => {
console.log('-----updateUserData.Redux.res.data-----', res.data);
dispatch({type: UPDATE_USER_DATA_SUCCESS});
})
.then(() => dispatch(getUserData()))
.catch((err) => {
console.log('-----updateUserData.Redux.err-----', err);
dispatch({type: UPDATE_USER_DATA_FAILURE, error: err});
});
};
字符串
1条答案
按热度按时间ldioqlga1#
如果应用程序崩溃,这一行将不起作用,请将这一行添加到请求头对象中。
第一个月