我正在使用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文件已下载,但无法打开。