我可以使用MVC4的ApiController实现文件下载吗?

Joe*_*hmo 9 asp.net-mvc-4

使用常规控制器我可以通过返回FileResult来完成.这似乎不适用于ApiController.可以吗?它甚至是一件正确的事吗?

nzn*_*oor 6

试试这个.

[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;
    }
Run Code Online (Sandbox Code Playgroud)