导出bolb

  const downloadTemplate = () => {
      // http
      //   .get("/api/" + import.meta.env.VITE_APP_SERVICE + "/site/template")
      //   .then((res: any) => {
      //     downloadFile("./" + res);
      //   });
      const tokenjeecg: any = localStorage.getItem("token");

      axios({
        method: 'GET',
        url: "/api/" + import.meta.env.VITE_APP_SERVICE + "/site/template",
        responseType: 'blob',
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          "X-Access-Token": JSON.parse(tokenjeecg)
        }
      }).then((res: any) => {
        console.log('res', res);

        const responseText = res.data;
        const elink = document.createElement('a');

        elink.download = '测站基本信息表模板.xls';

        elink.href = URL.createObjectURL(new Blob([responseText], {type: 'application/xls'}));

        document.body.appendChild(elink);

        elink.click();

        document.body.removeChild(elink);
      }).catch(() => {
        message.error("导出失败");
      });
    };

    const exportData = () => {
      // http
      //   .post(
      //     "/api/" + import.meta.env.VITE_APP_SERVICE + "/site/export",
      //     form.value
      //   )
      //   .then((res: any) => {
      //     downloadFile("./" + res);
      //   });
      const tokenjeecg: any = localStorage.getItem("token");

      axios({
        method: 'POST',
        url: "/api/" + import.meta.env.VITE_APP_SERVICE + "/site/export",
        responseType: 'blob',
        headers: {
          // eslint-disable-next-line quotes
          'Content-Type': 'application/json',
          "X-Access-Token": JSON.parse(tokenjeecg)
        },
        data: { ...form.value }
      }).then((res: any) => {
        console.log('res', res);

        const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
        const elink = document.createElement('a');

        elink.download = '测站基本信息表' + '.xlsx';

        elink.href = URL.createObjectURL(blob);

        document.body.appendChild(elink);

        elink.click();

        document.body.removeChild(elink);

        // window.URL.revokeObjectURL(elink);
      }).catch(() => {
        message.error("导出失败");
      });
    };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然可以!这里是一个满足您要求的完整示例代码: ```html <!DOCTYPE html> <html> <head> <title>PDF Viewer</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script> <style> body { margin: 0; padding: 0; } #pdf-container { width: 100%; height: 100%; } </style> </head> <body> <div id="pdf-container"></div> <script> $(document).ready(function() { var MODULE_PATH = "/zhengshu/"; // 获取URL参数中的ID和token var urlParams = new URLSearchParams(window.location.search); var id = urlParams.get("id"); var token = urlParams.get("token"); // 发送AJAX POST请求获取base64格式的PDF文件 $.ajax({ url: MODULE_PATH + "pdfbase64", type: "POST", data: { id: id, token: token }, dataType: "text", success: function(response) { // 创建一个Blob对象存储PDF数据 var pdfData = atob(response); var blob = new Blob([pdfData], { type: "application/pdf" }); // 使用pdf.js加载和显示PDF文件 var loadingTask = pdfjsLib.getDocument(blob); loadingTask.promise.then(function(pdf) { // 创建一个PDFViewer实例 var viewer = new pdfjsViewer.PDFViewer({ container: document.getElementById("pdf-container"), viewerPrefs: { disablePrint: true, disableDownload: true, }, }); // 添加满屏水印 viewer.watermark = { text: "Your watermark text", diagonal: true, }; // 设置PDF文档 viewer.setDocument(pdf); // 渲染PDF文件 viewer.render(); }); }, error: function(error) { console.log("Error:", error); }, }); }); </script> </body> </html> ``` 请将上述代码保存为一个HTML文件,并确保在`<script>`标签中引入了jQuery和pdf.js的脚本。在代码中,使用AJAX请求从`/zhengshu/pdfbase64`接口获取base64格式的PDF文件内容,并将其转换为Blob对象。然后,使用pdf.js库加载和显示PDF文件,并设置了相关的选项,包括禁止打印、下载和添加水印。 请注意,这个示例代码仅供参考,您可能需要根据您的具体需求进行一些调整。同时,请确保您已经正确配置了服务器端的接口和权限。 希望这能满足您的要求!如有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

donghuzi1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值