파일을 반환하는 컨트롤러 메서드가 있고 모든 브라우저에서 IE11과 별도로 작동합니다. IE11에서는 500 서버 예외가 발생합니다. 내 dotnet run
콘솔 명령에서이 메시지가 나타납니다.ASPNET Core 파일을 반환하는 데 IE11을 사용하지 못합니까? Content_Length 불일치
실패 : Microsoft.AspNetCore.Server.Kestrel [13] 접속 ID "0HLAA8HNC511P"요청 ID "0HLAA8HNC511P : 00000007"처리되지 않은 예외 애플리케이션에 의해 발생되었다. System.InvalidOperationException : 응답 콘텐츠 길이 불일치 : 너무 적은 바이트를 썼습니다 (0 9283).
심지어 Startup.cs
파일에 app.UseDeveloperExceptionPage();
전화를 추가하여 예외를 잡을 수없는 것 같습니다.
내 컨트롤러 방법은 매우 간단하고 IE11에서이
public async Task<IActionResult> GetAsync([FromRoute] long id, [FromRoute] long fileId, [FromQuery] FilePreviewModel previewOptions)
{
var entity = await _fileService.GetAsync(Module, id, fileId);
var fileName = "MEARS 2000 LOGO";
var contentType = "image/gif";
// this is a byte array
var data = entity.Data.Content;
// return file content
return File(data, contentType, fileName);
}
처럼 보이는, 요청 및 응답 헤더는 다음과 같습니다. 크롬에서
, 내 헤더는 너무처럼 보인다.
나는 버전 2.1.3 내 후에 .NET SDK를 업데이트했습니다.
누구나 가능할지 모릅니다 ??
'entity.Data.Content'의 유형은 무엇입니까
version : 2.0.4
을 보여줍니다이 같은 조치 내부 헤더를 제거하여 그것을 해결하기 위해 관리? 그것은'Stream' 또는'byte []'배열입니다. – Wazner
'byte []'(이 세부 정보가있는 업데이트 된 게시물) 죄송합니다. 알 수 없음 – Gillardo
https://github.com/aspnet/Mvc/issues/6875와 관련이있을 수 있습니다. 액션에 Context.Request.Headers.Remove ("If-Modified-Since");를 추가하면 예외가 발생하지 않도록 할 수 있습니까? – Wazner