2010-09-28 87 views
0

我编码的应用程序之一是每次点击PDF文件时都提供下载选项。现在它在浏览器中打开。我没有更改任何代码。我怎样才能做到这一点,只让他们下载,而不是在浏览器中打开?在浏览器中打开的PDF文件

回答

1

我可以想到两种方法:您可以简单地ZIP压缩PDF文件,然后强制下载,或者您可以编写一个脚本,将请求的文件作为可下载的附件提供。不知道是你的应用程序用什么语言编写的,但在PHP中,你可以做这样的:

的download.php

<?php 
if (isset($_GET['file'])) { 
    $file = $_GET['file']; 
     if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file)) { 
      header('Content-type: application/pdf'); 
      header("Content-Disposition: attachment; filename=\"$file\""); 
      readfile($file); 
     } 
    } else { 
    header("HTTP/1.0 404 Not Found"); 
    echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>"; 
} 
?> 

,然后你会链接到您的PDF文件,如:

<a href="download.php?file=my_pdf_file.pdf">Download the cool PDF.</a> 

找到this forum post

希望这会有所帮助。

0

浏览器有插件,可以在浏览器中打开自己的PDF文件,当你没有下载它们的插件时。你仍然可以实现它的一种方式是发送文件下载时不要告诉浏览器响应的MIME类型,因此这种插件不会知道有一个PDF文件打开,仍然会让你下载它。

尝试发送以下标题 内容处置:附件;文件名= genome.pdf; modification-date =“1997年2月12日星期三16:29:51 -0500”;

相关问题