MVC下载文件方式


方式一:

public FileStreamResult DownFile(string filePath, string fileName)

{

string absoluFilePath = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["AttachmentPath"] + filePath);

return File(new FileStream(absoluFilePath, FileMode.Open), "application/octet-stream", Server.UrlEncode(fileName));

}






方式二:

public ActionResult DownFile(string filePath, string fileName)

{

filePath = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["AttachmentPath"] + filePath);

FileStream fs = new FileStream(filePath, FileMode.Open);

byte[] bytes = new byte[(int)fs.Length];

fs.Read(bytes, 0, bytes.Length);

fs.Close();

Response.Charset = "UTF-8";

Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");

Response.ContentType = "application/octet-stream";



Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));

Response.BinaryWrite(bytes);

Response.Flush();

Response.End();

return new EmptyResult();



}




 


View调用:


<a href="/Document/DownFile?filePath=@item.Value&fileName=@item.Key">下载</a>