Загрузите большой файл .net core 3.1 api с помощью iis без изменения web.config

#api #asp.net-core #file-upload #web-config

Вопрос:

Есть ли какое-либо решение для загрузки файлов размером больше, чем по умолчанию, без изменения web.config?

О документации https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1, в нем говорится, чтобы изменить web.config и настроить IISServerOptions.MaxRequestBodySize соответствует нашему значению, но в моем текущем проекте я не могу изменить web.config. Есть ли какое-то другое решение?

Комментарии:

1. Архитектурно это можно решить, если клиенты будут загружать данные непосредственно в облачное хранилище, которое может обрабатывать загрузку любого размера и использовать фрагментарную загрузку. Например, в Azure: docs.microsoft.com/en-us/azure/storage/blobs/…

2. Но мне нужно создать эту конечную точку, чтобы она работала как прокси-сервер, чтобы отправить файл другому клиенту, а также сохранить файл в NAS.

3. Чтобы обрабатывать напрямую, я думаю, вам нужно будет реализовать какой-то метод для фрагментированных загрузок, например github.com/edsoncunha/chunked-file-upload-csharp

4. Я хочу принять файл как один, но iis по умолчанию принимает только 30 МБ, моя проблема заключается в попытке изменить это, возможно, в файле запуска, но не в web.config

5. Чтобы увеличить предельный размер загрузки файлов IIS, есть три варианта: 1. Измените файл web.config. 2. редактировать файл applicationhost.файл config 3. Редактирование запросу фильтровать параметры в IIS: Откройте Диспетчер IIS => выберите сайт => двойным щелчком мыши запрос для фильтрации, выберите «Редактировать параметры объекта…» действий, а затем во всплывающем модель измените соответствующие максимально допустимое содержание длину (в байтах записав ноль в качестве значения означает, что длина не ограничена.) и затем нажмите кнопку OK. Наконец, перезагрузите IIS.