У меня есть приложение ASP.NET Core WebApi, и мне нужно загрузить очень большой файл. Я включил JWT Auth / Authz
services.AddAuthentication(cfg =>
{
cfg.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
cfg.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, cfg =>
{ .. }
TTL токена составляет 2 минуты.
Затем у меня есть действия в моем контроллере, такие как
public async Task<IActionResult> Add(IFormFile file)
{
if (file.Length.ToMegabytes() > 500)
{
throw new BadRequestException(nameof(file), "File size should not exceed 500 MB");
}
}
и настройка в Интернетеhost
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
})
Когда я загружаю большой файл (~ 1 ГБ), требуется много времени, а затем возвращается 401, прежде чем он вступит в мои действия.
Как проверить, что файл имеетне правильный размер, прежде чем он будет загружен? Потому что загрузка займет больше 2 минут и в результате я получу 401