从Asp.Net Webforms中的目录列表下载PDF文件

时间:2014-08-20 12:05:54

标签: c# asp.net gridview webforms

我使用了Gridview控件来显示asp.net webforms中目录的内容。 过滤内容以仅显示PDF文件。

我在TemplateField中也有一个Button。单击按钮,用户应该能够下载并保存PDF文件。

Gridview中显示的列是文件名,修改日期和大小。

如何编程单击按钮以下载并保存PDF文件?

由于 P V Parameswaran

2 个答案:

答案 0 :(得分:0)

我有一个执行文件下载的功能。

public static void DownloadFile(string FilePath, System.Web.HttpResponse response)
{
    System.IO.FileInfo file = new System.IO.FileInfo(FilePath);
    if ((file.Exists))
    {
        response.Clear();
        response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
        response.AddHeader("Content-Length", file.Length.ToString());
        response.ContentType = "application/octet-stream";
        response.WriteFile(file.FullName);
        response.End();
        response.Close();
        file = null;
    }
}

FilePath参数是物理路径,因此如果您有虚拟路径(例如~/Folder/file.pdf),则可能需要使用Server.MapPath(...)函数来调用该函数。

答案 1 :(得分:0)

Button点击事件中,请编写以下代码。

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Response.ContentType = "Application/pdf"; 
    Response.AppendHeader("Content-Disposition", "attachment; filename=Your_Pdf_File.pdf"); 
    Response.TransmitFile(Server.MapPath("~/Files/Your_Pdf_File.pdf")); 
    Response.End(); 
}