문제
ASP.Net Web API Controller에서 파일을 반환하고 싶지만 모든 접근 방식 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 콘텐츠 헤더가 application/json
.
return File(stream, "application/octet-stream", "filename.xlsx");
이렇게하면 다운로드 할 때 사용자가 직접 열 수 있습니다.