basePath文件对象路径
var fileInfo = new FileInfo(basePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(fileInfo.Name));//UrlPathEncode以路径编码方式解决文件名过长引起的浏览器自动截取编码后的文件名而导致下载失败的问题
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();