如何以json格式返回包含api输出的文件?

时间:2013-09-23 07:17:16

标签: asp.net-web-api

我有一个api,它以json格式提供输出作为默认值。 我希望将输出保存在文件中并返回此文件。

现在我的输出格式为:

[
  {"FName":"Folder1"},
  {"FName":"Folder2"},
  {"FName":"Folder3"}
]

我希望将其保存在本地文件中,并在调用api时返回此文件。

1 个答案:

答案 0 :(得分:1)

您可以将Content-Disposition标头设置为attachment并提供文件名:

public HttpResponseMessage Get()
{
    var value = new[]
    {
        new { FName = "Folder1" },
        new { FName = "Folder2" },
        new { FName = "Folder3" },
    };
    var response = Request.CreateResponse(HttpStatusCode.OK, value, this.Configuration.Formatters.JsonFormatter);
    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    {
        FileName = "foo.json"
    };

    return response;
}