gpt4 book ai didi

c# - 使用 .NET Core 3.1 上传大于 100 MB 的文件将导致 400(错误请求)

转载 作者:行者123 更新时间:2023-12-04 08:17:58 26 4
gpt4 key购买 nike

<分区>

我正在使用 .NET Core 3.1 创建文件上传。

当我上传大于 100 MB 的文件时,出现错误:

413 Request Entity Too Large

作为各种调查的结果,我能够通过进行以下设置来避免 413 错误:

web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<security>
<requestFiltering>
<!-- Handle requests up to 1 GB -->
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
</location>
</configuration>

UploadController.cs:

        [Route("embed")]
[HttpPost]
[DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public ActionResult PostEmbed([FromForm] WebPptVoiceEmbedRequest request)
{
Log.NLog.Debug("[Get]:PostEmbed start");

byte[] array;
using (var stream = new MemoryStream())
{
request.File.CopyTo(stream);
array = stream.ToArray();
}

Log.NLog.Debug("[Get]:PostEmbed end");

return File(array, "application/vnd.openxmlformats-officedocument.presentationml.presentation", request.File.FileName);
}

程序.cs:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
})
.UseStartup<Startup>();
})
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Debug);
})
.UseNLog();

client.js

  let embedRequest = new FormData();
embedRequest.append('file', file);

const { data } = await axios
.post(Api.embed, embedRequest, {
responseType: 'blob',
dataType: 'binary',
})
.catch((error) => {
apiErrorLogAndThrow(error);
});
const blob = new Blob([data]);
return blob;

但是还是报错

400 (Bad Request

除了我设置的地方还有设置文件上传容量的地方吗?
这很困惑,因为各个地方的尺寸设置太多。

我想先解决,
如果可能的话,我想知道如何在不使用 web.config 的情况下解决它。

最好的问候

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