【问题标题】:HTML force user to download PDF file from URLHTML 强制用户从 URL 下载 PDF 文件
【发布时间】:2023-03-28 16:44:02
【问题描述】:

我正在获取我的 HTML 的服务器端 URL,单击该 URL PDF 文件在浏览器本身中打开,由于 PDF 较大,我想强制用户下载它(保存弹出窗口) 请帮帮我

【问题讨论】:

  • 使用Content-Disposition: attachment; ... 标头。

标签: javascript html url


【解决方案1】:

您不需要 javascript 来执行此操作。在现代浏览器中,您可以简单地执行 <a href="somepathto.pdf" download="filename">

相关帖子:

【讨论】:

  • 这在 safari 中不起作用。在选项卡中打开的 safari pdf 文件可以帮助我解决这个问题吗?
【解决方案2】:

可以使用HTML5属性下载:

<a href="link" download="filename"/>

您还可以使用以下函数创建一个 PHP 页面,该页面将读取 PDF 并强制下载:

header('Content-Type: application/pdf');
header('Content-disposition: attachment; filename=filename.pdf');
exit(readfile(yourPDF));

(如果你想防止用户删除下载属性,PHP很有用,但它可能太多了)

【讨论】:

    【解决方案3】:

    使用download 属性:

    <a download="file.pdf">Link</a>
    

    https://html.spec.whatwg.org/multipage/semantics.html#attr-hyperlink-download

    【讨论】:

    • 我试过上面的方法,但是pdf文件在浏览器本身呈现
    【解决方案4】:

    试试这个

    > <FilesMatch "\.(?i:pdf)$">   ForceType application/octet-stream  
    > Header set Content-Disposition attachment </FilesMatch>
    

    【讨论】:

    • 有趣的答案!但是你应该指定它必须放在 htaccess 中。另外,他只是在谈论一个 PDF,所以我认为这不是最好的方法
    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多