从数据库下载了pdf文件,但我无法打开它,“无法加载PDF文档。”错误

时间:2018-10-29 20:34:11

标签: c# sql-server database pdf visual-studio-2012

我正在使用MSSQL,asp.net,Visual Studio2012。我正在编写一个代码,用于将pdf文件从数据库中保存/检索到数据库中。

我成功保存了文件,但是当我要下载文件时,它已下载,但是打开文件时出错,好像在下载时被打断了一样。但是.txt文件已成功打开,只有pdf文件无法正常工作。

从数据库中检索pdf文件的代码在这里:

SqlConnection con = new SqlConnection(connectionstring);
con.Open();
SqlCommand com = new SqlCommand("select Name,Extn,Content from Books where Name=@Name", con);
com.Parameters.AddWithValue("Name", GridView2.SelectedRow.Cells[1].Text.ToString());
SqlDataReader dr = com.ExecuteReader();

if (dr.Read())
{
    Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.Clear();

    Response.Buffer = true;
    Response.ContentType = dr["Extn"].ToString();
    Response.AddHeader("content-disposition", "attachment;filename=" + dr["Name"].ToString() ); // to open file prompt Box open or Save file  
   Response.TransmitFile(fi.FullName);
    Response.Charset = "";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.BinaryWrite((byte[])dr["Content"]);
    Response.Flush();
    Response.Close();


Response.End(); }}

Gridview仅具有文件的名称和Extn,并且启用了“选择”按钮,当我选择任何pdf(通过“选择”按钮)时,将运行此方法(SelectedIndexChanged)。

PDF文件已下载,但无法打开。

0 个答案:

没有答案