我目前正在使用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 以响应本机而不深入本机代码的任何其他建议?
提前感谢您的时间和耐心。