Vấn đề
Tôi muốn trả về một tệp trong Trình điều khiển API Web của ASP.Net, nhưng tất cả các cách tiếp cận của tôi đều trả về HttpResponseMessage
dưới dạng JSON.
Mã cho đến nay
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;
}
Khi tôi gọi điểm cuối này trong trình duyệt của mình, API Web trả về HttpResponseMessage
dưới dạng JSON với Tiêu đề nội dung HTTP được đặt thành application/json
.
return File(stream, "application/octet-stream", "filename.xlsx");
Cách này khi tải xuống, người dùng có thể mở trực tiếp.