Eroberung von Datei -Upload -Größengrenzen in ASP.NET CORE
ASP.NET -Kern -MVC -Anwendungen begegnen häufig frustrierende Einschränkungen der Dateigröße. Dieser Artikel enthält Lösungen für das Upload von unbegrenzten Dateien, indem Sie Kestrel Server -Einschränkungen adressieren.
Kestrels Anforderungskörpergrößengrenzen
Kestrel, der Webserver in ASP.NET Core 2.0 und später, verleiht den Anforderungen der Körpergröße Standardgrenzen. Um größere Dateien aufzunehmen, sind Konfigurationsanpassungen erforderlich.
MVC-Ansatz: Attributbasierte Steuerung
Das Attribut [RequestSizeLimit]
bietet eine granulare Steuerung über Dateigrößengrenzen für bestimmte Aktionen oder Controller. Dies ermöglicht beispielsweise die Methode MyAction
, Anforderungen bis zu 100 MB zu verarbeiten:
<code class="language-csharp">[HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { }</code>
Um Größenbeschränkungen vollständig für eine bestimmte Aktion oder einen bestimmten Controller zu entfernen, verwenden Sie [DisableRequestSizeLimit]
. Dies kehrt zum Verhalten vor ASP.NET Core 2.0 zurück.
Middleware-Ansatz: Per-Request-Steuerung
Für Nicht-MVC-Anforderungen ermöglicht der IHttpMaxRequestBodySizeFeature
Anpassungen von pro-Anfragen:
<code class="language-csharp">app.Run(async context => { context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000; });</code>
Denken Sie daran: Änderungen sind nur möglich, wenn die Anfrage nicht gelesen wurde. Überprüfen Sie die Eigenschaft IsReadOnly
, bevor Sie Änderungen vornehmen.
Globale Konfiguration: Serverweite Steuerung
, um die maximale Anforderungskörpergröße global anzupassen, die MaxRequestBodySize
-Sache innerhalb der Optionen UseKestrel
oder UseHttpSys
:
<code class="language-csharp">.UseKestrel(options => { options.Limits.MaxRequestBodySize = null; // Removes the limit })</code>
oder
<code class="language-csharp">.UseHttpSys(options => { options.MaxRequestBodySize = 100_000_000; })</code>
Durch die Implementierung dieser Konfigurationen können Sie die Einschränkungen der Dateigrößen in Ihren ASP.NET -Kernanwendungen effektiv beseitigen und die Verarbeitung von willkürlich großen Uploads aktivieren.
Das obige ist der detaillierte Inhalt vonWie behandle ich unbegrenzte Datei -Uploads in ASP.Net Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!