私は現在、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 に画像をアップロードして反応ネイティブにする方法について他に提案はありますか?
どうぞよろしくお願いいたします。