我是React Native的初学者。我想在使用react native相机拍照后将文件上传到AWS s3。我可以使用本机相机拍照。现在,我需要上传到s3存储桶。当我搜索此文件时,我得到了很多文档,并且对如何使用它感到困惑。
我已经将文件上传到Amazon s3并使用php下载了s3表格。但是在我还是一个初学者的时候,我并没有得到如何做到的反应。我在aws s3文件上传文档中搜索了我使用的php,java和.Net等文件。但是我没有获得本机响应。
任何人都可以帮助我做到这一点。
我在React Native中拍摄图像的代码是
import React, {Component} from 'react';
import {Platform, StyleSheet, Text,TouchableOpacity, View} from 'react-native';
import ImagePicker from 'react-native-image-picker';
import RNS3 from 'react-native-aws3';
export default class App extends Component<Props> {
takePic(){
ImagePicker.showImagePicker({},(responce)=>{
console.log(responce);
const file ={
uri : responce.path,
name : responce.fileName,
type : responce.type,
}
console.log(file);
const config ={
keyPrefix :'uploads/',
bucket : '**',
region :'***',
accessKey:'***',
secretKey :'***',
successActionStatus :201
}
RNS3.put(file ,config)
.then((responce) => {
console.log(responce);
})
})
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome v</Text>
<TouchableOpacity onPress={this.takePic.bind(this)}>
<Text>Take Picture</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
当我从galary /点赞的新照片中选择图片时,出现以下错误,
02-05 09:10:52.738 12357 12389 I ReactNativeJS: { uri: '/storage/emulated/0/Pictures/image-cb48f179-5b00-4e0a-93ef-74206f76c4e4.jpg',
02-05 09:10:52.738 12357 12389 I ReactNativeJS: name: 'image-cb48f179-5b00-4e0a-93ef-74206f76c4e4.jpg',
02-05 09:10:52.738 12357 12389 I ReactNativeJS: type: 'image/jpeg' }
02-05 09:10:52.738 12357 12389 E ReactNativeJS: undefined is not an object (evaluating '_reactNativeAws.default.put')
如何解决此ReactNativeJS:undefined不是对象(评估'_reactNativeAws.default.put')。
您能帮我解决这个问题吗?
答案 0 :(得分:0)
我已经解决了我的错误:) :)。最后,它在4天后生效。很高兴。
我已经安装了react-native-file-upload。现在它可以完美运行了。
npm install react-native-file-upload --save