uniapp文件预览

废话不多说,直接上代码

let filePath = this.list.annex_nr
      if (this.$utils.isEmpty(filePath)) {
        uni.showToast({
          icon: "none",
          title: "无文件路径"
        })
        return
      }
      let arr = filePath.split("/")
      let fileName = arr.length > 0 ? arr[arr.length - 1] : "fileName"

      let url = this.$API_URL + 'gn-fileserver/file/down?isThird=y&filePath=' + filePath + '&fileName=' +
          fileName; //下载地址接口返回
      uni.downloadFile({
        url: url,
        header: {
          'Content-Type': 'application/x-www-form-urlencoded',
          Authorization: 'bearer ' + this.$store.getters.token
        },
        success: (data) => {
          if (data.statusCode === 200) {

            //文件保存到本地
            uni.saveFile({
              tempFilePath: data.tempFilePath,
              success: function(res) {
                var savedFilePath = res.savedFilePath;
                uni.getSavedFileInfo({
                  filePath: savedFilePath, //仅做示例用,非真正的文件路径
                  success: function(res) {
                    console.log(res);
                  }
                });
                uni.openDocument({
                  filePath: savedFilePath,
                  success: function(res) {
                    console.log('打开文档成功,download');
                  }
                });
              }
            });

            /* uni.openDocument({
              filePath: data.tempFilePath, //临时路径
              success: function(res) {
                console.log("文件已保存,", res);
              },
              fail: (err) => {
                console.log(err);
                uni.showToast({
                  icon: 'none',
                  mask: true,
                  title: '文件打开失败,请重试',
                });
              },
            }); */
          }
        },
        fail: (err) => {
          console.log(err);
          uni.showToast({
            icon: 'none',
            mask: true,
            title: '文件打开失败,请重试',
          });
        },
      });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值