需求:微信小程序下载pdf或者Excel文件
iOS版本18.5,安卓版本正常,鸿蒙版本无法使用
iOS报错为:errMsg: "saveFile:fail permission denied, open http://usr/1751599039535.xlsx"
saveFile()报错
uni.request()接口请求成功后
success: (res) => {
const _filePath = uni.env.USER_DATA_PATH
const filePath = `${_filePath}/${Date.now()}.${fileType}`;
const tempFilePath = filePath
const fs = uni.getFileSystemManager()
fs.writeFile({
filePath,
data: res.data, // 直接使用二进制数据
encoding: 'binary', // 指定二进制编码
success() {
fs.saveFile({
tempFilePath,
success: (saveRes) => {
uni.showToast({title: `文件已保存在${_filePath}`, icon: "none", duration: 2000})
system.showDialog({
title: "文件已保存",
content: `${_filePath}`,
confirmText: "预览"
}, res => {
if (res.confirm) {
uni.openDocument({ filePath, fileType, showMenu: true });
}
}
)
},
fail: (err) => {
console.log(err,"err----",tempFilePath);
system.showToast(err.errMsg)
}
})
},
fail: function(err) {
console.error(err.errMsg,"error--")
}
});
},

估计是没有这个目录usr,案例说这个目录是默认存在的,可能之前有被删过?可以先用FileSystemManager.access判断一下。没有目录的话得先创建,不然就报fail permission denied