码迷,mamicode.com
首页 > 其他好文 > 详细

TransmitFile下载文件(部分转载)

时间:2015-11-27 16:54:36      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

例子代码:

public void Down()
{
TransmitFile(@"/File/KBPub.zip");
}
public void TransmitFile(string filePath) //filePath 下载的文件的相对路径
{
try
{
filePath = Server.MapPath(filePath);
if (System.IO.File.Exists(filePath))
{
FileInfo info = new FileInfo(filePath);
long fileSize = info.Length;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filePath.Substring(filePath.LastIndexOf("\\") + 1)); //filename 下载后显示的文件名
//不指明Content-Length用Flush的话不会显示下载进度的
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(filePath, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
}
}
catch
{ }
finally
{
System.Web.HttpContext.Current.Response.Close();
}

}

WriteFile方式:

public void WriteFile(string filePath)
{
try
{
filePath = Server.MapPath(filePath);
if (System.IO.File.Exists(filePath))
{
FileInfo info = new FileInfo(filePath);
long fileSize = info.Length;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachement;filename=" + Server.UrlEncode(info.FullName));
//指定文件大小
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.WriteFile(filePath, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
}
}
catch
{ }
finally
{
System.Web.HttpContext.Current.Response.Close();
}
}

TransmitFile下载文件(部分转载)

标签:

原文地址:http://www.cnblogs.com/jinghuimin/p/5000808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!