开发的时候,通过接口GET请求后端返回的arraybuffer表格数据,写入文件调用是成功的,但是保存调用失败了,报错:saveFile:fail tempFilePath file not exist
我在下面调用openDocument接口就可以通过WPS打开文件。
调试基础库:2.30.2
// 导出文件接口
export function exportFile() {
return GET('***/***/front/testExport', {}, { responseType: 'arraybuffer' })
}
exportFile().then(res => {
const fs = wx.getFileSystemManager()
fs.writeFile({
filePath: wx.env.USER_DATA_PATH + '/测试报表.xlsx',
data: res,
encoding: 'binary',
success() {
fs.saveFile({
tempFilePath: wx.env.USER_DATA_PATH + '/测试报表.xlsx',
success(saveRes) {
console.log(saveRes)
},
fail(saveErr) {
// 这里报错
console.log(saveErr)
}
})
wx.openDocument({
filePath: wx.env.USER_DATA_PATH + '/测试报表.xlsx',
showMenu: true, // 显示右上角菜单
success(x) {
// 打开成功
console.log('successfun', x)
}
})
},
fail(fileErr) {
console.log(fileErr)
}
})
})
请问下这个问题解决了吗
路径错误:调用
saveFile
时需要指定正确的文件路径,如果路径错误或者不存在,就会导致调用失败。权限问题:如果文件路径所在的目录没有写入权限,就会导致调用
saveFile
失败。数据格式问题:调用
saveFile
时需要将数据转换为正确的格式,如果数据格式不正确,就会导致调用失败。内存不足:如果系统内存不足,就会导致调用
saveFile
失败。