【问题标题】:jQuery- Open pdf in new tab with file namejQuery-使用文件名在新选项卡中打开 pdf
【发布时间】:2017-09-18 19:43:13
【问题描述】:

我从数据库中获取一个作为 blob 对象返回的 pdf,并希望将 pdf 显示回带有文件名的浏览器。

我找回文件没问题,可以在新选项卡中显示,但文件名看起来像 --> 64CB13D-ec93-48fa-a425-0b66n3fg

如何强制使用文件名?

function(response){
    if(response.data && response.status==200){
        var fileContent = response.data;
        var file = new Blob([fileContent], {type: 'application/pdf'});
        var fileURL = URL.createObjectURL(file);
        window.open(fileURL, '_blank');

【问题讨论】:

  • 您可以将 blob 转换为 File 对象,在构造函数中同时包含 blob 和文件名,然后对该文件执行 .createObjectURL()。应该管用。 developer.mozilla.org/en/docs/Web/API/File
  • @Stavm,愿意分享代码示例吗?

标签: javascript jquery


【解决方案1】:

我认为您可以为此目的使用 HTML,请在此处查看我的答案:Display PDF stream returned from controller using jquery in new window

并在服务器端添加以下标头:

Content-Disposition: attachment; filename="the-name-you-want.pdf"

见:https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Disposition

【讨论】:

    猜你喜欢
    • 2012-12-05
    • 2015-09-10
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 2020-10-09
    相关资源
    最近更新 更多