react-native-fs Android 11保存文件在/storage/emulated/0/Download中。

3 人关注

我有一个问题,我不能再把Pfd和Excel文件保存在下载文件夹(/storage/emulated/0/Download)中,因为我们通过其他应用程序编辑文件,然后在我们的应用程序中再次上传文件。我知道从安卓11开始,存储访问发生了变化,只能在所谓的范围存储上进行。是否可以用react-native-fs或者其他方式(通过React Native)来存储文件,这样其他应用程序也可以看到这些文件,或者你可以在Android的文件资源管理器中打开它们,或者像所有应用程序的共享文件夹一样看到它们。也有可能使用MANAGE_EXTERNAL_STORAGE,但根据Android,这个设置只保留给某些应用程序。

React native版本:64.2 react-native-fs: 2.18.0 Andriod 11

  // /storage/emulated/0/Download/E-Akte_Schadenformular_2020.xlsx
  path = RNFS.DownloadDirectoryPath + '/' + dataBezeichnung + '.' + data.dateityp;
console.log('RNFS.DownloadDirectoryPath');
console.log(path);
  // write the file
  RNFS.writeFile(path, meThis.state.dateiBase64, 'base64').then((success) => {
    console.log('Datei Erfolgreich Runtergeladen!');
    Functions.toast("ERFOLGREICH", "Runterladen erfolgreich \n\nDie Datei:\n" + dataBezeichnung + '.' + data.dateityp+ "\n\nwurde auf Ihrem Gerät erfolgreich gespeichert", 10000);
  }).catch((err) => {
    Functions.toast("WARNUNG", "Runterladen nicht möglich, um die Datei auf Ihrem Gerät zu speichern, müssen Sie die Berechtigung für die eSASSApp aktivieren unter\n\nGeräteeinstellungen -> Apps -> eSASSAPP -> Berechtigungen -> Dateien und Medien -> (Android bis 10 : Zugriff nur auf Mediendateien zulassen) Oder (Ab Andriod 11: Verwaltung aller Dateien zulassen)", 10000);