내 WebApi에 문제가 있습니다. 요청에 따라 응답은 json
또는 csv
중 하나로 반환됩니다. 직렬화에 대해서는 NewtonSoft.Json
을 사용하고 내 자신의 CsvMediaTypeFormatter
을 사용합니다. 우체부에서 테스트하는 한 응답은 예상대로 작동합니다.WebApi 파일로 응답 다운로드
응답이 csv
인 경우 브라우저가 파일을 저장하도록 강제하고 싶습니다. 나는 우체부를 사용하여 내 API를 테스트 할 때
public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType)
{
base.SetDefaultContentHeaders(type, headers, mediaType);
headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "content.csv"
};
}
, 나는 또한 헤더 content-disposition: attachment; filename=content.csv
을 보여, 몸으로 CSV 내용을 참조하십시오 다음과 같이 그것을 달성하기 위해, 내 CsvMediaTypeFormatter
에서 나는 SetDefaultContentHeaders
방법을 무효화한다.
하지만 Firefox (Chrome, Edge)를 사용해 보았을 때 "파일 저장 ..."대화 상자가 표시되지 않습니다. 그러나 dev 도구는 호출이 이루어 졌음을 나타내며 content-disposition
헤더 값을 갖는 응답을 표시합니다. text/csv
, text/plain
, application/octet-stream
또는 application/x-unknown
,하지만 성공 :
Content-type
값을 시도했다.
내가 잘못하고있는 아이디어가 있습니까?
아, 멍청한 놈 내가 무엇을 ... – Szeki