我目前正在使用react-native-aws3和React-Native-Camera将图片上传到AWS S3,因为使用此软件包,我不必编写任何本机代码。如果围绕此问题有任何其他建议不涉及编写本机代码,请告知我们。
无论如何,当我在Android上模拟时,我无法将图像上传到S3。在iOS上,我没有任何麻烦。
注意:对于版本,我目前正在使用:
{
"react-native": "0.43.0",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-aws3": "0.0.8",
}
这是我的代码:
takePicture() {
this.camera.capture()
.then((data) => {
this.setState({ path: data.path })
const file = {
uri: data.path,
name: `${uuid.v1()}.jpg`,
type: 'image/jpeg',
};
const options = {
keyPrefix: 'photos/',
bucket: 'accountabilibuddy-1',
region: 'us-west-1',
accessKey: AWSAccessKeyId,
secretKey: AWSSecretKey,
successActionStatus: 201
};
RNS3.put(file, options).then(response => {
if (response.status !== 201) {
throw new Error('Failed to upload image to S3', response);
}
this.props.pictureTaken(response.body.postResponse.location) // reduxAction here(don't mind)
}).catch(err => console.error('Camera error not uploaded: ', err))
})
.catch(err => console.error(err));
}
对于内部捕获,我收到以下错误:
对于外部捕获,我收到以下错误:
此库是否适用于Android上的其他人和/或是否有任何其他建议如何将图像上传到S3以反应原生而不会潜入本机代码?
提前感谢您的时间和耐心。