微信小程序打开pdf xlsx等文件,并支持保存分享等操作
微信小程序直接下载文件时,保存到的路径为缓存路径 tempxxx,如果需要查找文件就很麻烦,那我们可以先在小程序中预览文件,再执行后续操作,代码如下:
// 方法
const download = (docObj) => {
    const { url = '', name, type } = docObj;
    if (!url) return;
    console.log('uuuu', url, name)
    Taro.showLoading({
      title: '加载文件中'
    })
    Taro.downloadFile({//下载文件
      // url,
      url: 'http://www.shidz.gov.cn/download.jsp?pathfile=/atm/7/20230330114133316.xlsx',//需要下载的文件流
      filePath: Taro.env.USER_DATA_PATH + '/' + name + '.xlsx',
      header: {
        token: 'tokenxxxx',
      }
      success: (res) => {
        if (res.statusCode === 200) {
          console.log('下载成功')
          // this.saveFile(res.filePath);// 如果不自定义文件下载路径又需要永久保存走这步,其他小程序不能用此路径 Taro.env.USER_DATA_PATH ,可以参照uniapp文档
          Taro.hideLoading();
          Taro.openDocument({
            filePath: res.filePath,
            showMenu: true, // 右上角显示三个点,微信自带的api,可以保存、转发文件
            success: function (res) {
              console.log('打开文档成功');
            }
          });
        } else {
          Taro.hideLoading();
          Taro.showToast({
            title: '加载失败'
          });
        }
      }
    });
  }
// 使用
download({
  url: '文件路径',
  name: '文件名称',
  type: 'xlsx' // 此处自定义保存的文件类型
})
注意
wx.downloadFile仅支持调用get接口,所以需保证url为get请求

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号