const filePathPrefix = wx.env.USER_DATA_PATH + '/reportFolderBase';
const fullFilePath = filePathPrefix + '/TestWord.docx';
const fileDirectory = FileUtil.getFileDirectoryByPath(fullFilePath);
const FileSystemManager = wx.getFileSystemManager();
wx.downloadFile({
url: APP_CONFIG.baseUrl + '/commonService/wechatGetReportFile/' + businessId,
success: function (res) {
console.log('downloadFile:', fullFilePath, fileDirectory);
const tempFilePath = res.tempFilePath
wx.saveFile({
tempFilePath: tempFilePath,
success(res) {
console.log('wx.saveFile:success:', res.savedFilePath);
FileSystemManager.saveFile({
tempFilePath: res.savedFilePath, // 传入一个本地临时文件路径
filePath: fullFilePath,
success(res) {
console.log('saveFile:', res); // res.savedFilePath 为一个本地缓存文件路径
wx.openDocument({
filePath: res.savedFilePath,
success: function (res) {
console.log('打开文档成功')
},
fail: (res) => {
console.log('openDocument:fail:', res)
}
})
},
fail: (res) => {
console.log('FileSystemManager.saveFile:fail:', res)
}
});
},
fail: (res) => {
console.log('wx.saveFile:fail:', res)
}
});
},
fail: (res) => {
console.log('downloadFile:fail:', res)
}
})
需求如下:预览文件,要先下载。每次都下载会浪费事件和流量,所以希望第一此下载后,将文件存在本地,这样再次预览就不用下载了。
在使用FileSystemManager.saveFile()方法是,filePath参数,不知道怎么送了,是文件全路径,比如:http://usr/reportFolderBase/TestWord.docx,还是送文件夹路径:http://usr/reportFolderBase