ext*_*eck 7 android storage-access-framework react-native expo expo-file-system
我正在制作一个函数来保存通过expo-file-system. 在此代码中,当您在 Android 上单击下载按钮时,会出现文件选择 UI,当您选择文件时,就会下载该文件。但是,我希望文件能够像普通应用程序一样自动下载到特定目录中,而无需用户选择。
使用时requestDirectoryPermissionAsync,是否可以不使用SelectionUI,直接下载文件到指定路径?如果StorageAccessFramework没有这样的方法,有没有办法解决这个问题expo-file-system?
代码
import * as FileSystem from "expo-file-system";
const { StorageAccessFramework } = FileSystem;
const saveAndroidFile = async (fileUri, fileName, contentType) => {
try {
const fileDir = StorageAccessFramework.getUriForDirectoryInRoot("Download");
// This function calls the UI in the image below
const permissions = await StorageAccessFramework.requestDirectoryPermissionsAsync(fileDir);
if (!permissions.granted) {
return;
}
try {
await StorageAccessFramework.createFileAsync(fileDir, fileName, contentType)
.then(async (uri) => {
await FileSystem.writeAsStringAsync(uri, fileString, { encoding: FileSystem.EncodingType.Base64 });
alert("Report Downloaded Successfully");
})
.catch((e) => {
console.log(e);
});
} catch (e) {
throw new Error(e);
}
} catch (err) {}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
484 次 |
| 最近记录: |