Как разрешить загрузку больших файлов (> 50 МБ) в веб-API ASP.NET Core 6/7, размещенном в Службе приложений AzureC#

Место общения программистов C#
Ответить
Anonymous
 Как разрешить загрузку больших файлов (> 50 МБ) в веб-API ASP.NET Core 6/7, размещенном в Службе приложений Azure

Сообщение Anonymous »

У меня есть веб-API ASP.NET Core 6/7 с конечной точкой, которая загружает файлы с использованием multipart/form-data. Я хочу разрешить файлы размером 50 МБ и более.
Сейчас я тестирую cURL:

Код: Выделить всё

curl -X POST "https://xxxx/v1/Cons/attachments" \
-H "accept: text/plain" \
-H "x-api-key: " \
-H "Authorization: Bearer " \
-H "Content-Type: multipart/form-data" \
-F "fileInfo=@35-MB.pdf;type=application/pdf" \
-F "userId=xxx" \
Однако, когда я пытаюсь загрузить файлы большего размера, я получаю:

Ошибка HTTP 413.1 – слишком большой объект запроса

Что я пробовал:
  • Настройки Kestrel в Program.cs:

    Код: Выделить всё

    webBuilder.ConfigureKestrel(options =>
    {
    options.Limits.MaxRequestBodySize = 524288000; // 500 MB
    });
    
  • Атрибуты контроллера:

    Код: Выделить всё

    [RequestSizeLimit(524288000)]
    [RequestFormLimits(MultipartBodyLengthLimit = 524288000)]
    [HttpPost("attachments")]
    public async Task Upload([FromForm] ConstructionAttachmentModel model)
    {
    // handle file
    }
    
  • Код: Выделить всё

    Web.config
    (для уровня IIS, после публикации):
  • Настройки приложения Службы приложений Azure:

    Код: Выделить всё

    Key:  ASPNETCORE_MAXREQUESTBODYSIZE
    Value: 524288000
    
Вопрос
После всех этих изменений мой API по-прежнему возвращает 413.1 для больших загрузок в службе приложений Azure.
Как я могу надежно разрешить загрузку файлов размером > 50 МБ в веб-API ASP.NET Core 6/7 на Azure?
Дополнительная информация:
  • ASP.NET Core 6/7.
  • Веб-API развернут в Службе приложений Azure.
  • Тестирование с помощью cURL и Postman.
  • Локальная загрузка Kestrel работает нормально.


Подробнее здесь: https://stackoverflow.com/questions/797 ... osted-on-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»