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
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Creare una libreria CSS universale - Rotazione degli elementi
Scrivere selettori CSS più semplici ed efficienti con :is()
Recuperare l'ultima versione di una release di GitHub
Gestire la cancellazione di una richiesta in streaming da Blazor
Migliorare la sicurezza dei prompt con Azure AI Studio
La gestione della riconnessione al server di Blazor in .NET 9
Proteggere le risorse Azure con private link e private endpoints
Testare l'invio dei messaggi con Event Hubs Data Explorer
Migliorare l'organizzazione delle risorse con Azure Policy
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
I più letti di oggi
- .NET Conference Italia 2018 - Milano
- Tutorial ASP.NET
- Seconda preview per i Dynamic Data Control 4.0
- Disponibile al download la versione finale di Mozilla Firefox 4
- Microsoft Security Bulletin MS02-044
- Shared Source Initiative per gli MVP
- Mono 1.1.10 per un po' di ASP.NET 2.0
- Webcast 'ASP.NET 2.0 HttpRuntime'