Maison > développement back-end > C++ > Comment gérer les téléchargements de fichiers illimités dans ASP.NET Core?

Comment gérer les téléchargements de fichiers illimités dans ASP.NET Core?

Susan Sarandon
Libérer: 2025-01-29 01:21:13
original
162 Les gens l'ont consulté

How to Handle Unlimited File Uploads in ASP.NET Core?

CONQUIER LIMITS DE TAILLE DE TÉLÉPLACTION DE FILE dans ASP.NET CORE

Les applications ASP.NET Core MVC rencontrent souvent des restrictions de taille de fichier frustrantes. Cet article fournit des solutions pour gérer les téléchargements de fichiers illimités en abordant les limitations du serveur Kestrel.

Demande de Kestrel Limites de taille corporelle

Kestrel, le serveur Web dans ASP.NET Core 2.0 et ultérieurement, impose des limites par défaut sur la taille du corps de la demande. Pour s'adapter aux fichiers plus grands, des ajustements de configuration sont nécessaires.

approche MVC: contrôle basé sur l'attribut

L'attribut [RequestSizeLimit] offre un contrôle granulaire sur les limites de taille de fichier pour des actions ou des contrôleurs spécifiques. Par exemple, cela permet à la méthode MyAction de gérer les demandes jusqu'à 100 Mo:

<code class="language-csharp">[HttpPost]
[RequestSizeLimit(100_000_000)]
public IActionResult MyAction([FromBody] MyViewModel data)
{
}</code>
Copier après la connexion

Pour supprimer les restrictions de taille entièrement pour une action ou un contrôleur spécifique, utilisez [DisableRequestSizeLimit]. Cela revient au comportement avant ASP.net Core 2.0.

Approche du middleware: Contrôle par la demande

Pour les demandes non-MVC, le IHttpMaxRequestBodySizeFeature permet les ajustements de taille par la demande:

<code class="language-csharp">app.Run(async context =>
{
    context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000;
});</code>
Copier après la connexion

N'oubliez pas: les modifications ne sont possibles que si le corps de la demande n'a pas été lu. Vérifiez la propriété IsReadOnly avant d'apporter des modifications.

Configuration globale: contrôle à l'échelle du serveur

pour ajuster à l'échelle mondiale la taille du corps de demande maximale, modifiez la propriété MaxRequestBodySize dans les options UseKestrel ou UseHttpSys:

<code class="language-csharp">.UseKestrel(options =>
{
    options.Limits.MaxRequestBodySize = null; // Removes the limit
})</code>
Copier après la connexion

ou

<code class="language-csharp">.UseHttpSys(options =>
{
    options.MaxRequestBodySize = 100_000_000;
})</code>
Copier après la connexion

En implémentant ces configurations, vous pouvez éliminer efficacement les limitations de la taille des fichiers dans vos applications Core ASP.NET, permettant le traitement de téléchargements arbitrairement grands.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal