Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to GitStaticAssets/4 #33050

Merged
merged 16 commits into from
Jul 30, 2024
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/static-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Learn how to serve and secure static files and configure static fil
monikerRange: '>= aspnetcore-3.1'
ms.author: riande
ms.custom: mvc
ms.date: 7/4/2024
ms.date: 7/10/2024
uid: fundamentals/static-files
---
# Static files in ASP.NET Core
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,17 @@

<p>RP: Use this page to detail your site's privacy policy.</p>

<p>The following inmage doesn't display with app.UseStaticFiles(new StaticFileOptions </p>
<img src="~/images/MyImage.jpg" class="img" alt="My image" asp-append-version="true" />
<p> The following image requires:</p>
<pre><code>
app.UseStaticFiles(new StaticFileOptions //
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
RequestPath = "/StaticFiles"
});
</code></pre>

<img src="~/StaticFiles/images/red-rose.jpg" class="img" alt="A red rose"
asp-append-version="true" />
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#define MULT2 // DEFAULT RR RH DB DF DF2 UFS UFS2 TREE FECTP NS MUL MULT2
#define RR // DEFAULT RR RH DB DF DF2 UFS UFS2 TREE FECTP NS MUL MULT2
// Test1
#if NEVER
#elif DEFAULT
// <snippet>
Expand All @@ -16,12 +17,12 @@
}

app.UseHttpsRedirection();
app.UseStaticFiles();
app.MapStaticAssets();

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet>
Expand All @@ -44,17 +45,18 @@

app.UseHttpsRedirection();

app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
RequestPath = "/StaticFiles"
});
//app.UseStaticFiles(); // required for https://localhost:<port>/images/MyImage.jpg
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
RequestPath = "/StaticFiles"
});

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_rr>
Expand All @@ -75,20 +77,20 @@

app.UseHttpsRedirection();

var cacheMaxAgeOneWeek = (60 * 60 * 24 * 7).ToString();
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = ctx =>
{
ctx.Context.Response.Headers.Append(
"Cache-Control", $"public, max-age={cacheMaxAgeOneWeek}");
}
});
var cacheMaxAgeOneWeek = (60 * 60 * 24 * 7).ToString();
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = ctx =>
{
ctx.Context.Response.Headers.Append(
"Cache-Control", $"public, max-age={cacheMaxAgeOneWeek}");
}
});

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_rh>
Expand All @@ -114,7 +116,7 @@

app.UseHttpsRedirection();

app.UseStaticFiles();
app.MapStaticAssets();

var fileProvider = new PhysicalFileProvider(Path.Combine(builder.Environment.WebRootPath, "images"));
var requestPath = "/MyImages";
Expand All @@ -134,8 +136,8 @@

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_db>
Expand All @@ -158,11 +160,11 @@

app.UseDefaultFiles();

app.UseStaticFiles();
app.MapStaticAssets();
app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_df>
Expand All @@ -188,12 +190,12 @@
options.DefaultFileNames.Add("mydefault.html");
app.UseDefaultFiles(options);

app.UseStaticFiles();
app.MapStaticAssets();

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_df2>
Expand All @@ -218,8 +220,8 @@

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_ufs>
Expand Down Expand Up @@ -248,8 +250,8 @@

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_ufs2>
Expand All @@ -274,7 +276,7 @@

app.UseHttpsRedirection();

app.UseStaticFiles();
app.MapStaticAssets();

app.UseFileServer(new FileServerOptions
{
Expand All @@ -286,8 +288,8 @@

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_tree>
Expand Down Expand Up @@ -329,8 +331,8 @@

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_fec>
Expand All @@ -351,16 +353,16 @@

app.UseHttpsRedirection();

app.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
DefaultContentType = "image/png"
});
app.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
DefaultContentType = "image/png"
});

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_ns>
Expand All @@ -383,18 +385,18 @@
app.UseHttpsRedirection();

// <snippet_mul>
app.UseStaticFiles(); // Serve files from wwwroot
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles"))
});
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles"))
});
// </snippet_mul>
Rick-Anderson marked this conversation as resolved.
Show resolved Hide resolved

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
#elif MULT2
Expand Down Expand Up @@ -426,14 +428,48 @@
// Update the default provider.
app.Environment.WebRootFileProvider = compositeProvider;

app.UseStaticFiles();
app.MapStaticAssets();

// </snippet_mult2>

app.UseAuthorization();

app.MapDefaultControllerRoute();
app.MapRazorPages();
app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
#elif Test1
using Microsoft.Extensions.FileProviders;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRazorPages();
builder.Services.AddControllersWithViews();

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}

app.UseHttpsRedirection();

app.UseStaticFiles(); // required for https://localhost:50921/images/MyImage.jpg

app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
RequestPath = "/StaticFiles"
});

app.UseAuthorization();

app.MapDefaultControllerRoute().WithStaticAssets();
app.MapRazorPages().WithStaticAssets();

app.Run();
// </snippet_rr>
#endif
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#define FIRST // FIRST
#define SECOND // FIRST SECOND
#if NEVER
#elif FIRST
// <snippet1>
Expand All @@ -12,7 +12,7 @@
var app = builder.Build();

app.UseDefaultFiles();
app.UseStaticFiles();
app.MapStaticAssets();

app.Run();
// </snippet1>
Expand All @@ -35,7 +35,7 @@
app.Environment.IsDevelopment().ToString());

app.UseDefaultFiles();
app.UseStaticFiles();
app.MapStaticAssets();

app.Run();
// </snippet2>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
Expand Down
Loading