小程序文件下载并打开(区分ios和安卓系统)

 // 判断时安卓还是ios
    const res = wx.getSystemInfoSync() // 读取设备所有信息
    console.log(res.platform); // 获取安卓或者iOS数据
    if (res.platform == "android") { // 判断
      this.setData({
        isAndroid: 2
      })
    }

 通过isAndroid判断,如果isAndroid==2则是安卓系统,否则是ios

如果是安卓,则可直接打开, showMenu: true, //关键点,安卓会有弹窗

如果是ios则调用copyLink方法,复制下载链接,在Safari浏览器中预览下载

    getupload(e) {
      let that=this
      let urlpath = e.currentTarget.dataset.item
      if (this.data.isAndroid == 2) {
        wx.downloadFile({
          url:'http://12345' + urlpath,
          success(res) {
            //保存到本地
            wx.getFileSystemManager().saveFile({
              tempFilePath: res.tempFilePath,
              success: function (res) {
                const savedFilePath = res.savedFilePath;
                // 打开文件
                wx.openDocument({
                  filePath: savedFilePath,
                  showMenu: true, //关键点
                  success: function (res) {
                    console.log('打开文档成功')
                  },
                });
              },
              fail: function (err) {
                console.log('保存失败:', err)
                wx.showToast({
                  title: '失败',
                  icon: 'error',
                  duration: 1000
                })
              }
            });
          }
        })
      } else {
        //先弹窗提醒用户复制链接
        wx.showModal({
          title: '复制下载链接',
          content: '请点击确定,复制下载链接,在Safari浏览器中预览下载',
          showCancel: false,
          success: function (res) {
            console.log(res,'tres');
            if (res.confirm) {
              that.copyLink(urlpath)
            }
          }
        })
      }
    },
    //复制链接
    copyLink(item) {
      wx.setClipboardData({
        data: 'http:12345' +item, // 要复制的路径
        success: function (res) {
          wx.getClipboardData({
            success: function (data) {
              wx.showToast({
                title: '复制成功'
              });
            },
            fail: function (data1) {
              console.log(data1, '复制回调');
            }
          });
        }
      })
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值