Я пытаюсь загрузить большие файлы из Angular 9.0 внешнего интерфейса в Web Api. net core 3.1. Я следую этому уроку https://code-maze.com/upload-files-dot-net-core-angular/. Все работает идеально до максимального размера файла по умолчанию, равного 28,6 МБ, как только я go выше этого размера файла, я получаю следующую ошибку cors: «Доступ к XMLHttpRequest на [localhost] из источника [localhost] был заблокирован политикой CORS : На запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». ' вернулся с сервера. Я еще не пробовал это на IIS, поэтому я получаю эти проблемы локально с Kestrel.
Мой ConfigureServices выглядит следующим образом:
services.AddCors(options =>
{
options.AddPolicy("AllowLocalAngularWebClient",
policy => policy.WithOrigins("http://localhost:4200").WithHeaders().AllowAnyHeader().AllowAnyMethod());
});
Мой Configure выглядит следующим образом:
app.UseCors("AllowLocalAngularWebClient");
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider
(Path.Combine(Directory.GetCurrentDirectory(), @"uploads")),
RequestPath = new PathString("/uploads")
});
Мой контроллер выглядит следующим образом:
[EnableCors("AllowLocalAngularWebClient")]
[DisableRequestSizeLimit]
Я сталкивался с несколькими блогами, в которых говорилось, что мне нужно настроить kestrel, поэтому я попробовал это в BuildWebHost:
.ConfigureKestrel((context, options) =>
{
options.Limits.MaxRequestBodySize = 52428800; //or null for unlimited!
})
Также на моем контроллере я пробовал оба:
[DisableRequestSizeLimit]
и
[RequestSizeLimit(52428800)]
Но я все еще получаю ошибку cors с файлами выше 28.6mb
Я не не знаю, является ли это ошибкой cors или локальной ошибкой IIS / kestrel visual studio.
Любая помощь будет принята с благодарностью.