美文网首页
文书下载功能

文书下载功能

作者: jesse28 | 来源:发表于2023-02-21 12:32 被阅读0次

参考链接:https://www.html5plus.org/doc/zh_cn/downloader.html#plus.downloader.createDownload
https://my.oschina.net/u/4489154/blog/5399978

        /**
         * 文书下载
         */
        downloadBtn(){

            if(!this.rowData.pdfId){
                this.$ljToast('该文书无法下载')
                return false;
            }
            let nowTime = getNowTimeNumber();
            let fileId = this.rowData.pdfId;
            let fileName = 'file://storage/emulated/0/重庆市城市管理执法指挥调度智能平台下载/行政强制(暂扣)'+  + nowTime + '.pdf'
            let fileUrl = `${window.webConfig.defultJavaFilePath}/file/downLoad/App/${fileId}`;

            let that = this
            let loading = window.plus.nativeUI.showWaiting("正在下载文件...");
            let p = -1;
            let download = window.plus.downloader.createDownload(fileUrl, {filename:fileName,method:'GET'}, function (d, status) {
                window.plus.nativeUI.closeWaiting();
                if (status === 200) {
                    console.log('文件',d);
                    // window.plus.io.convertLocalFileSystemURL(d.filename);
                    window.plus.nativeUI.alert("下载完成!");
                    // window.plus.runtime.openFile()
                } else {
                    window.plus.nativeUI.alert("下载失败!");
                }
            });
            download.addEventListener("statechanged", (task) => {
                if (task.state === 3) {
                    let x = (task.downloadedSize / task.totalSize * 100).toFixed(0)
                    if (x !== p) {
                        p = x
                        loading.setTitle("下载文件" + x + '%')
                    }

                }

            }, false);
            download.start();
        },
  1. uniapp嵌套 H5点击下载
    goDownload(){
      console.log('点击下载',JSON.parse(this.queryObj._attachmentIds))
      this.$uni.postMessage({
        data:{
          messAgeData:{
            code:'download',
            attachmentIds:JSON.parse(this.queryObj._attachmentIds)
          }
        }
      })

    },

case-mobile项目


image.png
              case "download":
          messAgeData.attachmentIds.forEach((v) => {
            console.log('遍历1',v)
            v.fileName = `${v.fileName}.${v.extension}`;
            let path =
              config.api + setting.http.module.oss + v.downPath.slice(1);
              console.log('遍历2path',path)
            let loading = plus.nativeUI.showWaiting("正在下载文件...");
            let p = -1;
            let downLoader = plus.downloader.createDownload(
              path,
              {
                method: "GET",
                filename:
                  "file://storage/emulated/0/重庆市城市管理执法指挥调度智能平台下载/" +
                  v.fileName,
              },
              function (download, status) {
                plus.nativeUI.closeWaiting();
                if (status === 200) {
                  plus.nativeUI.alert("下载完成,请到手机文件管理中查看"); 
                } else {
                  uni.showToast({
                    title: "下载失败,请重试",
                  });
                }
              }
            );
            downLoader.addEventListener("statechanged", (task) => {
                if (task.state === 3) {
                    let x = (task.downloadedSize / task.totalSize * 100).toFixed(0)
                    if (x !== p) {
                        p = x
                        loading.setTitle("下载文件" + x + '%')
                    }
                }

            }, false);
            downLoader.start();
          });

          // lj.redirectToByName(messAgeData.pageName,{code:'General'})
          break;
        case "download备份":
          return;
          messAgeData.attachmentIds.forEach((v) => {
            v.fileName = `${v.fileName}.${v.extension}`;
            let path =
              config.api + setting.http.module.oss + v.downPath.slice(1);
            console.log("下载的path", path);
            let downLoader = plus.downloader.createDownload(
              path,
              {
                method: "GET",
                filename: "_downloads/image/" + v.fileName + `.${v.extension}`,
                // filename: 'file://storage/emulated/longjin/' + v.fileName
              },
              function (download, status) {
                console.log(JSON.stringify(download), `========>download`);
                if (status === 200) {
                  // let fileName = plus.io.convertLocalFileSystemURL(download.filename);
                  let fileName = download.filename;
                  /**
                   * 保存至本地相册
                   */
                  plus.gallery.save(
                    fileName,
                    function () {
                      // uni.showToast({
                      //   duration: 3000,
                      //   icon:'none',
                      //   title:''
                      // })
                      uni.showModal({
                        title: "保存成功",
                        content: `文件已保存在:Android/data/io.dcloud.HBuilder/${fileName.substr(
                          1
                        )}`,
                        confirmText: "确定",
                        showCancel: false,
                        success: function (res) {
                          if (res.confirm) {
                            console.log("用户点击确定");
                          } else if (res.cancel) {
                            console.log("用户点击取消");
                          }
                        },
                      });
                    },
                    function () {
                      window.open(downLoader);
                      return;
                      uni.showToast({
                        title: "保存失败,请重试",
                        icon: "error",
                      });
                    }
                  );
                } else {
                  uni.showToast({
                    title: "下载失败,请重试",
                  });
                }
              }
            );
            downLoader.start();
          });

          // lj.redirectToByName(messAgeData.pageName,{code:'General'})
          break;
image.png

相关文章

网友评论

      本文标题:文书下载功能

      本文链接:https://www.haomeiwen.com/subject/oeinkdtx.html