gpt4 book ai didi

c# - ASP NET Core 返回文件使用 IE11 失败?内容长度不匹配

转载 作者:行者123 更新时间:2023-11-30 12:39:07 24 4
gpt4 key购买 nike

我有一个返回文件的 Controller 方法,在除 IE11 之外的所有浏览器中都可以使用。在 IE11 中,我得到一个 500 服务器异常。在我的 dotnet run 控制台命令中,我收到了这条消息。

fail: Microsoft.AspNetCore.Server.Kestrel[13] Connection id "0HLAA8HNC511P", Request id "0HLAA8HNC511P:00000007": An unhandled exception was thrown by the application. System.InvalidOperationException: Response Content-Length mismatch: too few bytes written (0 of 9283).

即使在我的 Startup.cs 文件中添加 app.UseDeveloperExceptionPage(); 调用,我似乎也无法捕获异常。

我的 Controller 方法很简单,看起来像这样

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);
}

在 IE11 中,请求和响应 header 如下所示。

enter image description here

在 chrome 中,我的标题看起来像这样。

enter image description here

我已将我的 dotnet SDK 更新到版本 2.1.3。

有人知道可能发生了什么吗?

最佳答案

我也有这个问题,相反,它不会总是抛出错误。

设法通过像这样删除操作中的 header 来解决它:

[HttpGet("{container}/{id}")]
public async Task<IActionResult> Get(string container, string id)
{
/* remove both of these headers... put a warning here to apply the fix after dotnet team distributes the fix. */
HttpContext.Request.Headers.Remove("If-Modified-Since");
HttpContext.Request.Headers.Remove("If-None-Match");

var _fileInfo = provider.GetFileInfo($"{container}/{id}");
if (!_fileInfo.Exists || string.IsNullOrEmpty(id))
/* return a default file here */

var last = _fileInfo.LastModified;
/* ... some code removed for brevity */

return base.File(_fileInfo.CreateReadStream(), MimeTypeMap.GetMimeType(id.Substring(id.LastIndexOf("."))), id, lastModified: _lastModified, entityTag: _etag);
}

dotnet --info 显示 version : 2.0.4

关于c# - ASP NET Core 返回文件使用 IE11 失败?内容长度不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47955880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com