问题
我想在ASP.Net Web API控制器中返回一个文件,但是我所有的方法都将其返回HttpResponseMessage
为JSON。
到目前为止的代码
public async Task<HttpResponseMessage> DownloadAsync(string id)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent({{__insert_stream_here__}});
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return response;
}
当我在浏览器中调用此终结点时,Web API会将HttpResponseMessage
HTTP内容标头设置为,以JSON形式返回application/json
。
return File(stream, "application/octet-stream", "filename.xlsx");
这样,下载时,用户可以直接打开它。