收藏
回答

saveFile在iOS系统上无法正常使用,在安卓端却可以,是iOS系统壁垒吗?

需求:微信小程序下载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--")

}

});

},


回答关注问题邀请回答
收藏

1 个回答

  • showms
    showms
    2025-07-04

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

    2025-07-04
    有用
    回复
登录 后发表内容