小程序下载Excel,pdf,word并预览,DownloadTask wx.downloadFile(Object object)

toUrlDetail(e) {
    this.setData({
      activeUrl: e.target.dataset.content,
      // isToUrlDetail: true,
    })
    console.log(this.data.activeUrl);
    wx.downloadFile({
      url: this.data.activeUrl, //仅为示例,并非真实的资源
      success(res) {
        // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
        if (res.statusCode === 200) {
          console.log(res.tempFilePath);
          // wx.playVoice({
          //   filePath: res.tempFilePath
          // })
          wx.openDocument({
            filePath: res.tempFilePath,
            fileType: 'pdf',
            showMenu: true, // 关键,这里开启预览页面的右上角菜单,才能另存为
            success: function (res) {
              console.log('打开文档成功')
            }
          })
        }
      }
    })
  },

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用wx.downloadFile下载文件时,我们可以通过监听下载任务的进度来提示用户下载的进度。首先,我们需要通过wx.downloadFile方法创建一个下载任务,并获取任务的task对象。然后,我们可以通过监听task对象的onProgressUpdate方法来获取下载进度的变化。 具体步骤如下: 1. 使用wx.downloadFile方法创建下载任务并获取任务的task对象。例如: ``` const downloadTask = wx.downloadFile({ url: '下载链接', success: function (res) { // 下载成功的回调函数 }, fail: function (err) { // 下载失败的回调函数 } }) ``` 2. 监听task对象的onProgressUpdate方法,获取下载进度的变化。例如: ``` downloadTask.onProgressUpdate((res) => { console.log('已下载的数据长度:', res.totalBytesWritten) console.log('预期需要下载的数据总长度:', res.totalBytesExpectedToWrite) // 计算下载进度 const progress = (res.totalBytesWritten / res.totalBytesExpectedToWrite) * 100 console.log('下载进度:', progress) // 在页面中更新下载进度 this.setData({ progress: progress }) }) ``` 3. 在回调函数中,我们可以根据下载进度对用户进行提示。例如,在小程序中可以使用wx.showToast方法显示一个带有下载进度的提示框: ``` wx.showToast({ title: '下载中', icon: 'loading', duration: 10000 mask: true }) ``` 总之,通过监听wx.downloadFiletask对象的onProgressUpdate方法,我们可以获取到下载任务的进度,并根据进度进行相应的提示操作,以提供用户友好的下载体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值