我正在开发一个允许用户下载动态生成的 PDF 文件的网络应用程序。
这在 IE8 和 Firefox 中工作正常,但在 IE6 中失败,Adobe Reader 给出消息“打开此文档时出错。找不到此文件”
如果我先将文件保存到磁盘,那么它会在 Reader 中正常打开。
我给文件一个简单的短文件名,没有空格,所以不知道还能尝试什么。任何建议都非常受欢迎。
更多信息:使用 abcpdf 插件在 asp.net 代码中生成 PDF
我正在开发一个允许用户下载动态生成的 PDF 文件的网络应用程序。
这在 IE8 和 Firefox 中工作正常,但在 IE6 中失败,Adobe Reader 给出消息“打开此文档时出错。找不到此文件”
如果我先将文件保存到磁盘,那么它会在 Reader 中正常打开。
我给文件一个简单的短文件名,没有空格,所以不知道还能尝试什么。任何建议都非常受欢迎。
更多信息:使用 abcpdf 插件在 asp.net 代码中生成 PDF
您的网页真的需要 IE6 支持吗?一个有效的解决方案是简单地要求用户升级到更高版本的 IE 吗?
IE6 在两个半月前死了。(IE6葬礼)
恕我直言,这是一个标题解释问题。我不是很熟悉或不喜欢 ASP.NET,但至少在 PHP 中你需要这些:
ob_start(); (* should be equivalent to HttpContext.Current.Response.Buffer = true *)
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=somefile.pdf');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
//header('Content-Length: ' . filesize($file));
ob_flush(); (* should be equivalent to HttpContext.Current.Response.Flush() *)
** output the pdf contents here
(* header() should be similar to HttpContext.Current.Response.AddHeader() function *)
请注意,Content-Length:
与content-disposition:
附件一起设置可能无法在 Safari 和 IE 中运行。
希望能帮助到你...
可能是因为 Adobe Reader Activex for IE 中的超时设置。您使用部分完成的文档响应浏览器,然后您的程序需要一些时间来继续响应文档的其余部分,并且 Adobe Reader 超时。尝试生成整个 PDF 文档,然后响应 http 请求。例如在 php.ini 中。
$s = "";
for(int i=0;i<10;i++)
$s .= "1";
echo #s;
代替
for(int i=0;i<10;i++)
echo "1";
我想我在 IE6 中观察到了这种最烦人的行为(错误),如果我记得,错误的原因是文件没有存储在缓存中,而是立即过期/删除。检查以下内容: