我在云开发环境下,云数据库中的数据导出到EXCEL中,按照以下代码执行的的时候,出现报错。
checkCloudexportToExcel:function(){
wx.cloud.callFunction({
name: 'exportToExcel',
data: {
db: 'mouldManagerTool'
}
}).then(res => {
// 使用临时文件路径保存 Excel 文件
console.log('USER_DATA_PATH:', wx.env.USER_DATA_PATH);
console.log('Initial USER_DATA_PATH:', wx.env.USER_DATA_PATH);
if (!wx.env.USER_DATA_PATH || wx.env.USER_DATA_PATH.startsWith('http://')) {
console.error('Invalid USER_DATA_PATH. Please check the environment.');
} else {
console.log('Valid USER_DATA_PATH:', wx.env.USER_DATA_PATH);
}
const tempFilePath = `${wx.env.USER_DATA_PATH}/exported_data.xlsx`;
const fileManager = wx.getFileSystemManager();
const buffer = new Uint8Array(res.result).buffer;
console.log(res.result);
console.log(tempFilePath);
fileManager.writeFile({
filePath: tempFilePath,
data: buffer,
encoding: 'binary',
success: function (saveRes) {
console.log('文件保存成功,尝试获取保存位置:', saveRes);
if (saveRes && saveRes.savedFilePath) {
console.log('最终保存位置为:', saveRes.savedFilePath);
} else {
console.log('无法确定保存位置。');
};
//直接下载
wx.downloadFile({
url: tempFilePath,
success: function (downloadRes) {
if (downloadRes.statusCode === 200) {
// 保存到本地
wx.saveFile({
tempFilePath: downloadRes.tempFilePath,
success: function (saveRes) {
console.log('文件保存到本地成功');
},
fail: function (err) {
console.error('文件保存到本地失败', err);
}
});
}
},
fail: function (err) {
console.error('文件下载失败', err);
}
});
},
fail: function (err) {
console.error('文件保存失败', err);
}
});
}).catch(err => {
console.error(err);
});
}
报错信息如下:
test01.js? [sm]:249 文件保存到本地失败 {errMsg: "saveFile:fail tempFilePath file not exist"}(env: Windows,mp,1.06.2408192; lib: 3.5.1)
没看懂这骚操作,临时路径为什么要下载