AspNetCore中關於請求大小限制設置


在我們接口上傳文件時,就會遇到由於文件過大而不能上傳,那么就需要去修改默認的大小限制。修改請求體的默認大小,需要根據不同方式的部署去修改不同的配置。比如IIS下部署,request => iis => iisServer => application,這三個地方都需要修改限制;dotnet命令運行:request => kestrel => application。(如果上面還有代理,那么也同樣是需要修改默認的大小限制的)

一、web服務器配置,不同web服務器不同的設置

Kestrel,使用dotnet命令運行部署與在linux下直接運行部署時使用

services.Configure<KestrelServerOptions>(options =>
            {
                options.Limits.MaxRequestBodySize = null;//不做限制
            });
MaxRequestBodySize默認是28.6MB(30,000,000 bytes)

IISServer,使用IIS部署和在VS調試的IIS Express時使用

使用IIS Server需要配置兩個地方,首先在程序中增加以下配置

services.Configure<IISServerOptions>(options =>
            {
                options.MaxRequestBodySize = null;//不做限制
            });

最后在IIS配置編輯器設置大小限制,我設置的是500M

二、應用程序(application

services.Configure<FormOptions>(x =>
            {
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = int.MaxValue;
                x.MultipartHeadersLengthLimit = int.MaxValue;
            });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM