<img src="~/static/img1.jpg" />
Run Code Online (Sandbox Code Playgroud)
我使用这篇文章来启用静态文件,但这些代码不起作用。
[Authorize]
public IActionResult BannerImage()
{
var file = Path.Combine(Directory.GetCurrentDirectory(),
"MyStaticFiles", "images", "banner1.svg");
return PhysicalFile(file, "image/svg+xml");
}
Run Code Online (Sandbox Code Playgroud)
同时另一篇文章中并没有帮助。但我不知道如何让图片仅供授权用户使用?
更新
我添加到将 WWWROOT 配置为静态目录以设置缓存头
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "WWWROOT"))
});
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")),
OnPrepareResponse = x =>
{
if (x.Context.User.Identity.IsAuthenticated)
{
return;
}
x.Context.Response.StatusCode = (int) HttpStatusCode.Unauthorized;
}
});
Run Code Online (Sandbox Code Playgroud)
然后授权停止工作。
就这样做
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = x =>
{
if (x.Context.User.Identity.IsAuthenticated)
{
return;
}
x.Context.Response.StatusCode = (int) HttpStatusCode.Unauthorized;
}
});
app.UseDefaultFiles();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3001 次 |
| 最近记录: |