asp.net-mvc-4 - 我可以使用MVC4的ApiController实现文件下载吗?

标签 asp.net-mvc-4

使用常规 Controller ,我可以通过返回 FileResult 来做到这一点。这似乎不适用于 ApiController。能做到吗?这是正确的做法吗?

最佳答案

试试这个。

[HttpGet]    
public HttpResponseMessage Get()
    {
        var file = HttpContext.Current.Server.MapPath("~/Images/accent.png");
        var stream = new FileStream(file, FileMode.Open);
        var content = new HttpResponseMessage(HttpStatusCode.OK)
                         {
                             Content = new StreamContent(stream)
                         };
        content.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        return content;
    }

关于asp.net-mvc-4 - 我可以使用MVC4的ApiController实现文件下载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014627/

相关文章:

c# - 为什么在 MVC 应用程序中使用 JSON?

c# - MVC 嵌套 Controller 和 View

asp.net-mvc-4 - 编辑 View 中多选列表框的 super 简单实现

c# - 在 ASP.NET MVC 中托管后,静态 Html 页面无法正常工作

asp.net-mvc - 在 MVC 应用程序中全局设置布局的位置

asp.net-mvc-4 - 跨 Web 角色和客户端应用程序共享 ASP.NET simplemembership 身份验证

c# - 如何使用 Razor 在主视图 View 模型中保存部分 View View 模型项?

c# - 在 MVC 4 的部分 View 中使用 PagedList 在导航 'paged' 页面时抛出 jQuery/JS

c# - 从命令行运行时,NUnit 看不到 configSource 定义的连接字符串

c# - 用于 ajax 的 ASP.NET MVC4 Controller 的 ActionMethod 的正确路径