我有一个文件,在我的网站上说PDF,当用户访问某个页面时,我想在页面加载或按钮点击时显示pdf的下载对话框。
我进行了谷歌搜索,我找到了两种方法来做到这一点,但想知道这样做的可接受方式是什么?我目前正在做这个
string pdfPath = MapPath("mypdf.pdf");
Response.ContentType = "Application/pdf";
Response.AppendHeader( "content-disposition",
"attachment; filename=" + name );
Response.WriteFile(pdfPath);
Response.End();
(代码基于http://aspalliance.com/259的代码,也找到了代码 http://www.west-wind.com/weblog/posts/76293.aspx)
答案 0 :(得分:5)
您的代码将完美地向用户显示该文件。但是他们必须使用“另存为”选项来实际保存它。
如果您希望向用户显示“保存对话框”,请尝试以下操作:
string pdfPath = MapPath("mypdf.pdf");
Response.ContentType = "Application/pdf";
Response.AppendHeader("content-disposition",
"attachment; filename=" + pdfPath );
Response.TransmitFile(pdfPath);
Response.End();
这当然假设文件实际存在于服务器上并且没有动态生成。
答案 1 :(得分:0)
此代码将直接在客户端浏览器上发送任何文件
Response.ContentType = "application/pdf";
Response.WriteFile(PathToFile);
Response.Flush();