收藏
回答

FileSystemManager.saveFile 方法中 filePath 如何传递?

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


回答关注问题邀请回答
收藏
登录 后发表内容
问题标签