Как сохранить захваченное изображение в папке приложения в реагировать родной? - PullRequest
0 голосов
/ 26 марта 2020

Я новичок, чтобы реагировать на родной. Я использую библиотеку реагировать на нативную камеру для захвата изображения. Я захватил изображение, теперь я хочу сохранить его в папке приложения, например, в папке assets или sr c. У меня есть изображение Как я могу это сделать, пожалуйста, дайте мне знать.

state = {

    cameraType : 'back',
    mirrorMode : false,
    path:null
 }
<View>
 <RNCamera
          ref={ref => {
            this.camera = ref;
          }}

          mirrorImage={this.state.mirrorMode}
          style={styles.preview}
          type={RNCamera.Constants.Type.front}
          flashMode={RNCamera.Constants.FlashMode.on}
          androidCameraPermissionOptions={{
            title: 'Permission to use camera',
            message: 'We need your permission to use your camera',
            buttonPositive: 'Ok',
            buttonNegative: 'Cancel',
          }}
          androidRecordAudioPermissionOptions={{
            title: 'Permission to use audio recording',
            message: 'We need your permission to use your audio',
            buttonPositive: 'Ok',
            buttonNegative: 'Cancel',
          }}

        />
<Button onPress={() => this.takePicture()} style={styles.btncontainer}>


           <Text>Take Picture</Text>
           </Button>

      </View>

 takePicture = async() => {
  if (this.camera) {
    const options = { quality: 0.5, base64: true };
    const data = await this.camera.takePictureAsync(options);
    this.setState({ path: data.uri });
    console.log("url",this.state.path)
  }
};


console.log url file:///data/user/0/com.tracking/cache/Camera/231f7d30-f74c-4f6d-b955-284b108592ca.jpg

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете использовать Reaction-native-FS .

const moveAttachment = async (filePath, newFilepath) => {
  return new Promise((resolve, reject) => {
    RNFS.mkdir(dirPicutures)
      .then(() => {
        RNFS.moveFile(filePath, newFilepath)
          .then(() => {
            console.log('FILE MOVED', filePath, newFilepath);
            resolve(true);
          })
          .catch(error => {
            console.log('moveFile error', error);
            reject(error);
          });
      }) 
      .catch(err => {
        console.log('mkdir error', err);
        reject(err);
      });
  });
};
...