在 Angular 8 中,调用下面的代码来获取数组缓冲区中的 PDF 内容并使用它生成文档。
this.http.get(fileLink, { responseType: 'arraybuffer' }).subscribe(function (data) {
const file = new Blob([data], { type: 'application/pdf' });
const fileURL = URL.createObjectURL(file);
const element = document.createElement('a');
element.setAttribute('href', fileURL);
element.setAttribute('target', '_blank');
//element.setAttribute('download', fileName);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element)
});
但我需要的更改是 - 文件应该在浏览器的另一个选项卡中打开(这已经在工作)并且点击download
PDF 内的图标,它应该使用原始文件名下载(下载但使用一些随机文件名)。
在另一个选项卡中生成此 PDF 时如何设置文件名。我不能使用锚标记,因为 API 会检查每个请求的Auth 标头。因此 API 请求获取数组缓冲区中的文档内容。