Загрузите изображение в Aws S3, используя ответную реакцию, после съемки фотографии с использованием исходной камеры. - PullRequest
0 голосов
/ 05 февраля 2019

Я новичок в реакции на родной язык. Я хочу загрузить файлы в aws s3 один раз после съемки фотографии с использованием камеры с исходной реакцией.Я могу сделать снимок, используя реагировать родную камеру.Теперь мне нужно загрузить S3 Bucket.Когда я ищу это, я получаю много документов и путаюсь, как это использовать.

Я выполнил загрузку файла на amazon s3 и загрузил форму s3 с помощью php.Но я не понимаю, как это сделать, потому что я новичок.Я искал в aws s3 файл загрузки документов там я получил с помощью php, java, .Net и т. Д. Но я не получил для реакции родного.

Может кто-нибудь помочь мне сделать это.

Мой код для получения изображения в оригинальном реагировании:

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,
  },
});

Когда я выбираю фотографию из новой фотографии в галари / клик, она выдает ошибку ниже,

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').

Не могли бы вы помочь мне решить эту проблему.

1 Ответ

0 голосов
/ 06 февраля 2019

Я исправил свою ошибку :) :). Наконец, она заработала через 4 дня.Так счастлив.

Я установил реагирующую-загрузку-файл-загрузки.Теперь все работает идеально

...