Ian Warburton
Ian Warburton

Reputation: 15666

Web API returns description of HttpResponseMessage to browser

This code is supposed to result in a file download...

public HttpResponseMessage Export()
{
    var byteArray = Encoding.UTF8.GetBytes("Hello World!");

    var stream = new MemoryStream(byteArray);

    var result = new HttpResponseMessage(HttpStatusCode.OK)
    {
        Content = new StreamContent(stream),
    };

    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    {
        FileName = "myFile.csv"
    };

    result.Content.Headers.ContentType = new MediaTypeHeaderValue("text/csv");

    return result;
}

Instead I get this message...

{"version":{"major":1,"minor":1,"build":-1,"revision":-1,"majorRevision":-1,"minorRevision":-1},"content":{"headers":[]},"statusCode":200,"reasonPhrase":"OK","headers":[],"requestMessage":null,"isSuccessStatusCode":true}

What am I doing wrong?

Upvotes: 0

Views: 479

Answers (1)

Ian Warburton
Ian Warburton

Reputation: 15666

public IActionResult Export()
{
    var byteArray = Encoding.UTF8.GetBytes("Hello World!");

    var stream = new MemoryStream(byteArray);

    return File(stream, "myFile.csv", "text/csv");
}

Upvotes: 2

Related Questions