下载的文件打不开

tsiring 2008-07-14 02:19:02
这段代码想做的事是这样的,先在数据库表里找到某一条记录,然后找到该记录的一个字段:File_Name,最后根据指定的路径将该文件下载下来,可以下载,但打不开,下载后的文件变大了,请各位帮帮忙,问题出在哪?

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
con.Open();
string RpID = e.CommandArgument.ToString();
string cmdtext="select * from Customer_Item_Report where Report_No='"+RpID+"'";
SqlCommand cmd = new SqlCommand(cmdtext, con);
SqlDataReader dr = cmd.ExecuteReader();
try
{
if (dr.Read())
{
string fname = dr["File_Name"].ToString();
string filepath = Server.MapPath("UploadFile\\" + fname);
FileInfo files = new FileInfo(filepath);
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fname, System.Text.Encoding.UTF8));
Response.AppendHeader("Content-length", files.Length.ToString());

Response.WriteFile(filepath);
Response.Flush();
}
}
catch
{
Response.Write("<script>alert('没有找到下载的源文件')</script>");
}
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一品梅 2008-07-14
  • 打赏
  • 举报
回复
文件名没写后缀
DeanMonica 2008-07-14
  • 打赏
  • 举报
回复
试试下面

Response.WriteFile(filepath);
Response.Flush();

改成

Response.Filter.Close();
Response.WriteFile(file.FullName);
Response.End();

62,164

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧