我正在尝试使用 RNFetchBlob 下载一个给定 Base64 字符串的 Excel 表,我可以下载 android、SDK 版本 29,但是当我尝试从 android 11 下载时,它显示错误:不允许操作。
我的代码是:
downloading = (data, arrayBuffer) => {
var date = moment()
.utcOffset('+05:30')
.format('YYYY-MM-DD hh:mm:ss');
let docName = `Excel_${date}.xlsx`
let pathToWrite = ''
if (Platform.OS == 'ios') {
const DownloadDir = RNFetchBlob.fs.dirs['MainBundleDir']
const pathToDownload = `${DownloadDir}/${docName}`;
pathToWrite = pathToDownload
} else {
pathToWrite = `${RNFetchBlob.fs.dirs.DownloadDir}/${docName}`;
}
let split = data.split('base64,')
var mimeType = 'application/xlsx';
RNFetchBlob.fs
.writeFile(pathToWrite, split[1], 'base64')
.then(() => {
// alert(`${docName} Downloaded Successfully`)
RNFetchBlob.android.addCompleteDownload({
title: 'ChitNote' + date,
description: 'Downloading FILE.',
mime: mimeType,
path: pathToWrite,
showNotification: true,
notification: true
})
alert(`Downloaded Successfully ${docName}`)
})
.catch((error) => {
alert(error)
console.log(error)
});
}
请帮我解决这个问题。