2011-12-11 29 views
0

我正在用c sharp制作一个asp.net网站。 我需要在我的一个网页上放置下载文件功能(pdf,doc,xls)。pdf下载功能asp.net

我该怎么做?

+0

你是什么意思?你可以让你的代码发送你想要的任何文件给客户端。 – Shai

+0

你应该看看HttpHandler来实现这一点。选中此[示例](http://dodgethecode.blogspot.com/2008/09/large-file-download-using-httphandler.html)。 –

+1

阅读MSDN文章 - 上传和下载文件 - http://msdn.microsoft.com/en-us/library/aa478985.aspx – adatapost

回答

1

要强制下载,您必须设置几个http标头。内容类型和内容处置。第一个必须是application/octet-stream,第二个必须是这样的:

Content-Disposition:Attachment;文件名=“[文件用户想要下载的路径]”

2

如果您想在服务器端单击链接时自动执行此操作,则必须自行发送文件,并添加一些自定义标头输出。执行此操作的方法是使用Response.TransmitFile()从ASP.NET应用程序显式发送文件,然后添加Content Type和Content-Disposition标头。

例如:

Response.ContentType = "application/ms-excel"; 
Response.AppendHeader("Content-Disposition","attachment; filename=someFIle.xls"); 
Response.TransmitFile(Server.MapPath("~/somewhere/someFIle.xls")); 
Response.End(); 

这将导致打开/另存为对话框与someFIle.xls的文件名作为默认文件名预设弹出。