小程序中要想预览查看pdf等各种文件,跟在pc、h5上是不一样的,pc、h5是可以直接打开odf的文件进行预览查看的,小程序需要先下载,再打开本地的pdf文件路径进行查看。

一共用到两个API : wx.downloadFile(下载)、wx.openDocument(打开)

	let downloadTask = wx.downloadFile({//下载对应文件
        url: url, // 下载文件网络地址
        success: function (res) {
            var filePath = res.tempFilePath;//本地文件路径    
            wx.openDocument({
                filePath: filePath,   // 装载对应文件的路径
                // fileType: type,   // 指定打开的文件类型 我写的固定类型 也可根据文件的后缀动态设置
                showMenu: true,       // 右上角的菜单转发分享操作
                success: function (res) {
                    console.log('打开成功');
                },
                fail: function (err) {
                    console.log('打开失败:', err);
                }
            })
        }
    })
  downloadTask.onProgressUpdate((res) => {
       console.log('下载进度', res.progress)
   })

注:
1、在小程序开发后台downloadFile(合法域名)配置下载文件的域名,配置路径:后台–>开发设置–>服务器域名–>downloadFile合法域名
2、downloadTask中可以获取到文件下载百分比进度。有些小程序支持,有些不支持,例如支付宝,在文档中并没有发现类似的API

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐