ファイルを返すコントローラメソッドがあります。すべてのブラウザで、IE11とは別に動作します。 IE11では、500サーバーの例外が発生します。私のdotnet run
コンソールコマンドで、私はこのメッセージを受け取ります。IENETを使用してASPNETコアファイルを返すことができませんか? Content_Lengthの不一致
は失敗:Microsoft.AspNetCore.Server.Kestrel [13] 接続ID "0HLAA8HNC511P"、リクエストID "0HLAA8HNC511P:00000007":未処理の例外が アプリケーションによってスローされました。 System.InvalidOperationException:レスポンスContent-Length 不一致:書き込まれたバイト数が少なすぎます(9283の0)。
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);
}
のように見えます
、リクエストとレスポンスヘッダはこのように見えます。 Chromeで
、私のヘッダはそうのように見えます。
私はバージョン2.1.3に私DOTNETの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