代码之家  ›  专栏  ›  技术社区  ›  Freelancer

在html中,pdf文件保存为,而不是直接打开

  •  0
  • Freelancer  · 技术社区  · 13 年前

    我正在进行一个项目,其中我必须保留下载pdf的选项。 当我点击下载按钮[Image]时,它直接打开了pdf文件。

    相反,我希望出现“另存为”对话框,只有当要下载的文件是.doc或docx格式时,该对话框才会合并。

    pdf格式还有其他选择吗?

    非常感谢。

    3 回复  |  直到 13 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    HTML5方式:

    添加 download 属性到您的下载链接:

    在某些情况下,资源用于以后使用,而不是 立即查看。表示资源的用途 下载以供以后使用,而不是立即使用 下载 可以在上指定属性 a 或 area 元素创建 指向该资源的超链接。

    此外,还可以为属性指定一个值,以指定文件 用户代理在文件中存储资源时要使用的名称 系统此值可以由 Content-Disposition 超文本传输协议 标头的文件名参数。[射频6266]

    在跨来源的情况下,必须组合下载属性 使用Content-Disposition HTTP标头,特别是使用 附件处理类型,以避免用户被警告 可能是邪恶的活动。(这是为了保护用户不被制造 下载敏感的个人或机密信息 他们完全理解。)

    这意味着您可以写:

    <a href="/path/to/file.pdf" download>Download the file</a>
    
    <a href="/path/to/export-as-pdf.php?id=1" download="report.pdf">Download the file</a>
    

    老派:

    您可以告诉Web服务器添加 Content-Disposition: attachment 导致(正常)浏览器弹出“另存为…”对话框的标题。如果您正在使用Apache和 mod_headers 然后将这些行添加到 .htaccess 文件:

    <Files *.pdf>
        Header set Content-Disposition attachment
    </Files>
    

    这里将对此进行更详细的讨论:
    How to send Content-Disposition headers in apache for files .

        2
  •  1
  •   orique Gustaf    13 年前

    如果您可以修改HTTP标头,则在提供PDF时应添加以下内容:

    Content-Disposition: attachment;filename=xxxxxx.pdf

        3
  •  1
  •   Ninja2k    13 年前

    在Firefox中

    工具->选项->概述->选择“始终询问我在哪里保存文件”

    在Chrome中

    打开设置->选择“高级设置”->检查并询问下载前将每个文件保存在何处

    在歌剧中

    转到Opera菜单->设置->首选项->->高级下载->高级->编辑所需的mime类型并选择“显示下载对话框”

    在IE中

    打开Adobe Reader程序->首选项->互联网->取消勾选在浏览器中显示PDF

    下载

    您可以使用Ctrl+J从任何浏览器访问下载文件夹。如果您不确定PDF保存到哪里,则在浏览器中打开的任何PDF都将转到临时文件夹,但下载的PDF将转到您选择的任何下载目录。

    HTML 5属性解决方法

    你可以使用这个HTML属性来强制链接,jquery也支持同样的东西(归功于Austin)

    <a href="path/to/file" download>Click here to download</a>