How to return Binary File from a Action Method in ASP.NET Web API ?

Published on December 26, 2016 by Senthil Kumar

Filed under WebAPI

Last modified April 5, 2018

Print this page

rate 1 star rate 2 star rate 3 star rate 4 star rate 5 star
Your rating: none, Average: 3 (3 votes)

This article have been viewed 11793 times

There are times when you might want to serve binary files from your controller’s action method in ASP.NET MVC Web API. You can do this easily by setting the octet-stream content for the HttpResponseMessage as shown in the code snippet.

How to return Binary File from a Action Method in ASP.NET Web API ?

public HttpResponseMessage Post()
    HttpResponseMessage retValue = new HttpResponseMessage(HttpStatusCode.OK);
    var stream = new System.IO.FileStream(@"C:\acFile.exe", System.IO.FileMode.Open);
    retValue.Content = new StreamContent(stream);
    retValue.Content.Headers.ContentType =
        new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
    return retValue;

Leave a Comment


You might be Interested in these Posts

How to read connection string from web.config in ASP.NET and C# ?

Here's a sample code snippet demonstrating how to get the connection string from your ASP.NET

How to return Json instead of XML in ASP.NET Web API ?

When you make a call to the ASP.NET Web API action method and notice this in Google Chrome browser ,...

How to Add Web API to existing ASP.NET Web Forms Project ?

In one of the previous posts , we saw how to add the WebAPI to the existing ASP.NET MVC project. Wel...