.net Core 2.0文件上传大小限制

我在.net core 2.0 MVC Web应用程序中上传大文件时遇到了麻烦。

我见过这样的文章,它展示了如何在.net core 2.0中增加文件大小限制: 增加Kestrel的上传请求长度限制

所以,按照这个例子,我尝试了两种选择。 我目前在我的Program.cs中有这个:

public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup() .UseKestrel(options => options.Limits.MaxRequestBodySize = null) .Build(); 

…而我在控制器上的ajax文件上传方法如下所示:

  [HttpPost] [RequestSizeLimit(1_074_790_400)] [Route("api/article/uploadfile/{mediaType}")] public async Task UploadFile(string mediaType) 

我使用Request.Form.Files访问上传​​的文件

视图上的javascript如下所示:

 $('#upload-videos').change(function () { var files = $("#upload-videos").get(0).files; uploadMedia(false, files); }) function uploadMedia(isPhoto, files) { var type; if (isPhoto) { type = "i"; } else { type = "v"; } var data = new FormData(); if (files.length > 0) { for (idx = 0; idx < files.length; idx++) { data.append("fileImage" + idx, files[idx]); } $.ajax({ url: "/api/article/uploadfile/" + type, type: "POST", processData: false, contentType: false, dataType: false, data: data, success: function (jsonData) { refreshUploadedImages(jsonData, isPhoto); } }); } } 

问题是,即使有了增加上传限制的更改,我也会收到回复:

无法加载资源:服务器响应状态为500()

如果我在控制器方法的第一行放置一个断点,它永远不会命中它,所以它似乎不是这个代码的问题。

一切正常,文件很小,但是当我尝试上传大小为538,286 KB的文件时,它会失败。

有人能帮忙吗?

更新:有关详细信息,当上载文件大小介于122,211 KB和137,840 KB之间时,无论任何RequestSizeLimit设置如何,问题似乎都会发生,并且它一致地出错。

更新2:我刚刚将所有.net核心和所有.net核心nuget软件包更新到2.1,但问题仍然存在。

为了帮助其他人遇到同样的问题,我在这里找到了答案: ASP.MVC CORE网站的最大上传大小

事实certificate,您需要删除体长限制,如下所示:

 services.Configure(x => x.MultipartBodyLengthLimit = 1_074_790_400); 

FormOptions可以在Microsoft.AspNetCore.Http.Features命名空间中找到。