繁体   English   中英

查看或下载 PDF 从 Api Rest 获取

[英]View or download PDF from Api Rest fetch

我正在尝试从 API Rest 完成 PDF 的下载。 我无法在新的浏览器选项卡中完全看到 pdf,我收到一条弹出消息“加载 PDF 文档时出错”。

我有以下内容:

function download_2() {
  var myHeaders = new Headers();
  myHeaders.append(
    "Authorization",
    "mytokennnnnnnnnnnnn"
  );

  var requestOptions = {
    method: "GET",
    headers: myHeaders,
    redirect: "follow",
  };

  fetch(
    "myAPIRESTurlurlurlurlurl",
    requestOptions
  )
    .then((response) => response.text())
    .then((result) => {
    
      let blob = new Blob([result.data], { type: "application/pdf" });
      var arrayBuff;
      var fileReader = new FileReader();
      fileReader.onload = function (event) {
        arrayBuff = event.target.result;
      };
      fileReader.readAsArrayBuffer(blob);

      var URL = window.URL || window.webkitURL;
      const url = window.URL.createObjectURL(blob);
      const link = document.createElement("a");
      link.target = "_blank";
      link.href = url;

      //I apend the link element
      document.body.appendChild(link);

      //download
      link.click();

      // Clean and remove the link
      link.parentNode.removeChild(link);
      URL.revokeObjectURL(url);
    })
    .catch((error) => console.log("error", error));
}

我还使用了 fileReader 将 blob 传递给它,但我不确定我是否做得对。

感谢您的帮助。

问候。

您是否尝试将download="true"属性添加到您创建的href标记?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM