javascript - 提交表单时自动 "download"PDF

标签 javascript html

我有一个表单按钮,单击它会提交表单。

同时,浏览器开始下载 PDF 文件。我想知道我该怎么做?请记住,PDF 通常默认由浏览器打开,但我希望浏览器“另存为”文件而不是打开文件。仅使用 html 是否可行,还是我需要 javascript?

最佳答案

如果您在服务器端使用 PHP,请试试这个。这是在我的一个网站上运行的经过测试的代码。

<?php
    ob_start();
    $file = 'YOUR-FILENAME-HERE.pdf';

    if (file_exists($file)) 
    {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
        exit();
    }
?>

浏览器会提示下载,但不会在浏览器中显示。

关于javascript - 提交表单时自动 "download"PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901139/

相关文章:

javascript - 使用 map、filter、reduce 将对象数组转换为具有额外属性的对象数组

javascript - 使用 jquery 随机化 div 显示和隐藏的顺序

javascript - html 代码在 Mozilla 中无法正常工作

php - 如何使用 php 和 mysql 制作组合框?

javascript - 预加载一个 DIV

javascript - div 的关闭按钮,使用 Jquery 访问 ID

javascript - 如何在客户端 javascript 中访问 Passport 的 req.user 变量?

javascript - 用于在 Typescript(或 Javascript)中生成 CSV 文件的本地分隔符

php - jquery .eq 不适用于某些导航项目

javascript - 使函数使用一个对象作为它的作用域