Nello scorso script abbiamo parlato del nuovo MapStaticAssets, introdotto in ASP.NET Core 9, che presenta alcune ottimizzazioni per servire file statici in maniera ancora più efficiente che in passato.
Questo metodo lavora bene con i file già presenti a compile time, visto che questi vengono compressi durante la build e catturati su un manifest autogenerato, così da essere pronti per essere poi trasferiti ai vari client.
Quando però i file sono dinamici - per esempio foto caricate da utenti - questo sistema è meno efficiente. La buona notizia, però, è che può essere combinato con il "vecchio" UseStaticFiles. Supponiamo per esempio che nella nostra applicazione consentiamo l'upload di immagini all'interno di una directory Images:
public class Program { public static void Main(string[] args) { // .. altro codice qui .. app.MapStaticAssets(); app.UseStaticFiles(new StaticFileOptions() { FileProvider = new PhysicalFileProvider( Path.Combine(builder.Environment.ContentRootPath, "Images")), RequestPath = "/UserImages" }); ... app.Run(); } }
Nell'esempio in alto abbiamo usato MapStaticAssets per configurare tutti i file contenuti all'interno di wwwroot, mentre abbiamo configurato UseStaticFiles per la cartella Images. In particolare, abbiamo sfruttato un PhysicalFileProvider per mappare il contenuto di questa directory sul path virtuale /UserImages:
<div class="text-center"> <img src="~/UserImages/dotnet.jpg" width="400px" /> </div>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare agenti facilmente con Azure AI Agent Service
Gestione dell'annidamento delle regole dei layer in CSS
Migliorare l'organizzazione delle risorse con Azure Policy
Potenziare la ricerca su Cosmos DB con Full Text Search
Supportare la sessione affinity di Azure App Service con Application Gateway
Collegare applicazioni server e client con .NET Aspire
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Aggiornare a .NET 9 su Azure App Service
Gestire progetti NPM in .NET Aspire
Utilizzare Locust con Azure Load Testing
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
I più letti di oggi
- disponibile il nuovo #adsdk per #win8. doc su https://aspit.co/ad3 donwload diretto da https://aspit.co/ad4
- Niente .NET sui server: siamo Microsoft
- Develop and distribute Azure Functions using K8s and CI/CD
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- Solo 5 minuti all'inizio della keynote!! http://aspitalia.com/build-win8 #BldWin
- #MIX10: Windows Phone - demo Hush Hush, un diario con interfaccia completamente personalizzata