【问题标题】:Web API returns description of HttpResponseMessage to browserWeb API 向浏览器返回 HttpResponseMessage 的描述
【发布时间】:2019-03-24 18:52:57
【问题描述】:

此代码应该会导致文件下载...

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;
}

相反,我收到了这条消息...

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

我做错了什么?

【问题讨论】:

  • 我假设这个方法是在ApiController?
  • This github issue 看起来像您正在经历的事情。请参阅 tugberkugurlu 的评论。
  • @Amy 同样的结果。

标签: c# asp.net-core-webapi


【解决方案1】:
public IActionResult Export()
{
    var byteArray = Encoding.UTF8.GetBytes("Hello World!");

    var stream = new MemoryStream(byteArray);

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

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2014-05-25
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2015-10-06
    • 2013-04-01
    • 2022-12-30
    • 1970-01-01
    相关资源
    最近更新 更多