DownFile(string destFileName)
{
destFileName = Server.UrlDecode(destFileName);
if(File.Exists(destFileName))
{
FileInfo fi = new FileInfo(destFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(destFileName);
Response.Flush();
Response.End();
}
else
{
Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
Response.End();
}
}
本文介绍了一种在ASP.NET中实现文件下载的方法。通过使用Response对象的多种方法,如Clear(), ClearHeaders(), AppendHeader(), WriteFile()等,来设置HTTP响应头并发送文件到客户端。此外还展示了如何处理文件路径编码及文件不存在的情况。
4万+

被折叠的 条评论
为什么被折叠?



