我想制作一个Response并添加文件附件头,这是在ASP.NET MVC Action中执行此操作的方法吗?通常我会返回int,string或更常见的ActionResult之类的东西。但是我可以像这样直接将HttpResponse返回给他们的浏览器吗?
因此,如果他们转到/ controller / action /,它会将HTTP响应返回给他们的浏览器。
答案 0 :(得分:2)
每当我想要将文件返回给用户时,我都会使用FilePathResult返回类型:
public FilePathResult DownloadFile() {
FilePathResult file = new FilePathResult("c:\\test.txt", "text/plain");
return file;
}
第一个参数是本地系统(或网络共享)上文件的路径,第二个参数是您要报告给浏览器的mime类型。如果要手动自定义用户在提示下载时将看到的文件名,可以设置file.FileDownloadName。
编辑:找到一个体面的different options(FilePathResult,FileStreamResult,FileContentResult)概述,你想要多读一遍(帖子的后三分之一)。< / p>