библиотека react-native-fs не перемещает и не копирует файлы — странные результаты

#javascript #react-native #react-native-image-picker #react-native-fs

#javascript #react-native #react-native-image-picker #react-native-fs

Вопрос:

   npmPackages:
    @react-native-community/cli: ^4.13.0 => 4.13.0
    react: 16.13.1 => 16.13.1
    react-native: 0.63.3 => 0.63.3
    react-native-windows: Not Found
    react-native-fs: ^2.16.6
    react-native-image-picker: ^2.3.4
  IDEs:
    Android Studio: Version  3.6.0.0 AI-192.7142.36.36.6241897
    Visual Studio: 15.3.26730.12 (Visual Studio Community 2017)
  

Я пытался реализовать кнопку, которая открывает камеру, делает снимок и сохраняет его в папке с изображениями.

Для этого я использую:

Именно последнее вызывает у меня головную боль. Вот код, который я использую:

 <Buttons.Camera containerStyle={{marginBottom:5}}
  onPress={() => {
    ImagePicker.launchCamera(options, async (response) => {
      console.log('Response = ', response);

      if (response.didCancel) {
        // ToDo cancelled
        console.log('Cancellen');
      } else if (response.error) {
        console.log('Camera Error: ', response.error);
      } else {
        var RNFS = require('react-native-fs');
        const ext = response.fileName?.split('.').pop();
        let newPath = `${RNFS.PicturesDirectoryPath}/${options.storageOptions.path}/avatar.${ext}`;
        const result = await RNFS.moveFile(response.path, newPath);
        this.setState({
          avatarPath: newPath,
        });
      }
    });
  }} />
  

Достигнута точка останова const result = await RNFS.moveFile(response.path, newPath); . Я могу подтвердить, что изображение действительно существует в моей newPath галерее, и response.path оба они действительны.
Когда я пытаюсь переместить файл (фактически переименовать) Я замечаю, что изображения нет newPath , а исходное изображение, response.path похоже, повреждено и больше не может быть открыто.

Согласно документам, result должно быть true , но в моем случае это так undefined . То же самое происходит, когда я использую RNFS.exists(newPath) . Обещание разрешается, но результат есть undefined . Ошибок не возникает.

Есть идеи?