MVC文件下载和webform也能使用的下载方法

        public ActionResult Index()
        {
            DownloadMethod("text/plain", "C:/Users/sunny/Pictures/Saved Pictures/A+.gif", "A+.gif");
            ////文件类型,文件路径,文件下载后的名字
            //return File("C:/Users/sunny/Pictures/Saved Pictures/A+.gif", "text/plain", "A+.gif");
            return View();
        }

        public void DownloadMethod(string mimeType, string fileDownloadPath,string fileDownloadName) 
        {
            //如果使用File的方式返回,有时候会出现如下异常,这时候要使用Response方式返回
            //An error occurred while communicating with the remote host. The error code is 0x80070006
            Response.ClearContent();
            //下载后文件的名字,attachment:附件的意思,当存在Content-Disposition这个头的时候,会被浏览器认为要下载文件
            Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(fileDownloadName));
            Response.AddHeader("Content-Length", new FileInfo(fileDownloadPath).Length.ToString());
            Response.ContentType = mimeType;
            Response.TransmitFile(fileDownloadPath);
            Response.Flush();
            Response.Close();
        }

 

posted @ 2017-03-28 16:22  洛晨随风  阅读(984)  评论(0编辑  收藏  举报