这两个方法不是我自己写的,哪里看到的我也搞不清了,硬盘上的一个txt文件,现在用上了,就把这两个方法记录在这里:
private void DownLoadFile(string fileName)
{
if (System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(fileName)))
{
System.Web.HttpContext.Current.Response.ClearHeaders();
string showName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(fileName));//转换成显示文件名
System.Web.HttpContext.Current.Response.ContentType = "application/zip;";
System.Web.HttpContext.Current.Response.Charset = "UTF-8";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", showName));
System.Web.HttpContext.Current.Response.BinaryWrite(GetFileBytes(fileName));
System.Web.HttpContext.Current.Response.End();
}
}
private byte[] GetFileBytes(string fileName)
{
try
{
System.IO.FileStream fileStream = new System.IO.FileStream(System.Web.HttpContext.Current.Server.MapPath(fileName), System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
return bytes;
}
catch
{
return null;
}
}
调用的时候很简单,就这样子: