1.控制器的ActionResult
public ActionResult DownLoadFile()
{ string filePath = Server.MapPath("~/ResourceFile/1ef53469-cbac-4007-b40b-ae68644794e7.doc"); return new DownloadResult(filePath, "1ef53469-cbac-4007-b40b-ae68644794e7.doc"); }2.DownLoadResult类的实现
public class DownloadResult : ActionResult
{ public DownloadResult() { }public DownloadResult(string virtualPath,string fileDownloadName)
{ this.VirtualPath = virtualPath; this.FileDownloadName = fileDownloadName; }public string VirtualPath
{ get; set; }public string FileDownloadName
{ get; set; }public override void ExecuteResult(ControllerContext context) {
if (!String.IsNullOrEmpty(FileDownloadName)) { context.HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + this.FileDownloadName); }string filePath = this.VirtualPath;
context.HttpContext.Response.TransmitFile(filePath); }}