【问题标题】:Open a PDF in a new tab AND download with file name in Angular在新选项卡中打开 PDF 并在 Angular 中使用文件名下载
【发布时间】:2020-03-02 09:44:33
【问题描述】:

在 Angular 中,我需要在新选项卡中打开 PDF 并允许用户使用特定名称(Example.pdf)下载它。下面的代码会下载 PDF,但不会打开新选项卡(target=_blank 不起作用)。任何想法如何解决这个问题?

show(blob){
    var fileURL: any = URL.createObjectURL(blob);
    var a = document.createElement("a");
    a.href = fileURL;
    a.target = '_blank';
    a.download = "Example.pdf";
    a.click();
}

【问题讨论】:

  • 控制台是否出现错误?
  • 控制台没有错误

标签: angular


【解决方案1】:

如果您想在新标签中打开PDF,请不要设置下载属性。

  public show(blob){
    var fileURL: any = URL.createObjectURL(blob);
    var a = document.createElement("a");
    a.href = fileURL;
    a.target = '_blank';
    // Don't set download attribute
    // a.download = "Example.pdf";
    a.click();
}

但是,在新选项卡中,当用户尝试下载文件时,用户将看到随机字符串而不是文件名。 此处说明:https://stackoverflow.com/a/41947861/5171009

【讨论】:

  • 底线是:不可能
  • 可以@ps0604, a.setAttribute('target', '_blank'); // 这将在新标签中打开文件 a.href = ${filename}; // 这将设置你想要的文件名
  • @Pinka 我会在哪里提供文件网址?
猜你喜欢
  • 2020-10-09
  • 2017-09-18
  • 2021-12-02
  • 2019-04-12
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
相关资源
最近更新 更多