Merge pull request '开放全部静态资源的配置' (#176) from koy07555/Admin.NET.Pro:改进静态资源配置 into main
Reviewed-on: http://101.43.53.74:3000/Admin.NET/Admin.NET.Pro/pulls/176
This commit is contained in:
commit
0ea36ba9cb
@ -21,8 +21,9 @@
|
|||||||
"DefaultErrorMessage": "系统异常,请联系管理员",
|
"DefaultErrorMessage": "系统异常,请联系管理员",
|
||||||
"ThrowBah": true, // 是否将 Oops.Oh 默认抛出为业务异常
|
"ThrowBah": true, // 是否将 Oops.Oh 默认抛出为业务异常
|
||||||
"LogError": false // 是否输出异常日志
|
"LogError": false // 是否输出异常日志
|
||||||
},
|
},
|
||||||
// 静态资源处理方式(允许这些文件被访问)
|
// 静态资源处理方式(允许这些文件被访问)
|
||||||
|
// 包含".*": "application/octet-stream"允许访问所有静态资源
|
||||||
"StaticContentTypeMappings": {
|
"StaticContentTypeMappings": {
|
||||||
".dll": "application/octet-stream",
|
".dll": "application/octet-stream",
|
||||||
".exe": "application/octet-stream",
|
".exe": "application/octet-stream",
|
||||||
|
|||||||
@ -20,12 +20,14 @@ using Microsoft.AspNetCore.Http;
|
|||||||
using Microsoft.AspNetCore.HttpOverrides;
|
using Microsoft.AspNetCore.HttpOverrides;
|
||||||
using Microsoft.AspNetCore.ResponseCompression;
|
using Microsoft.AspNetCore.ResponseCompression;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.FileProviders;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using OnceMi.AspNetCore.OSS;
|
using OnceMi.AspNetCore.OSS;
|
||||||
using SixLabors.ImageSharp.Web.DependencyInjection;
|
using SixLabors.ImageSharp.Web.DependencyInjection;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.Encodings.Web;
|
using System.Text.Encodings.Web;
|
||||||
using System.Text.Unicode;
|
using System.Text.Unicode;
|
||||||
@ -278,20 +280,42 @@ public class Startup : AppStartup
|
|||||||
var cpMappings = App.GetConfig<Dictionary<string, string>>("StaticContentTypeMappings");
|
var cpMappings = App.GetConfig<Dictionary<string, string>>("StaticContentTypeMappings");
|
||||||
if (cpMappings != null)
|
if (cpMappings != null)
|
||||||
{
|
{
|
||||||
foreach (var key in cpMappings.Keys)
|
if (cpMappings.Keys.Contains(".*"))
|
||||||
{
|
{
|
||||||
contentTypeProvider.Mappings[key] = cpMappings[key];
|
app.UseStaticFiles(new StaticFileOptions
|
||||||
|
{
|
||||||
|
FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "wwwroot")),
|
||||||
|
//RequestPath = "/static",
|
||||||
|
ServeUnknownFileTypes = true, // 允许服务未知文件类型,以便能处理.dll这种非默认的静态文件类型
|
||||||
|
//DefaultContentType = "application/octet-stream" // 为未知文件类型设置一个通用的内容类型
|
||||||
|
DefaultContentType = cpMappings[".*"]
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
app.UseStaticFiles(new StaticFileOptions
|
{
|
||||||
{
|
foreach (var key in cpMappings.Keys)
|
||||||
ContentTypeProvider = contentTypeProvider
|
{
|
||||||
});
|
contentTypeProvider.Mappings[key] = cpMappings[key];
|
||||||
|
}
|
||||||
//// 启用HTTPS
|
app.UseStaticFiles(new StaticFileOptions
|
||||||
//app.UseHttpsRedirection();
|
{
|
||||||
|
ContentTypeProvider = contentTypeProvider
|
||||||
// 启用OAuth
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
app.UseStaticFiles(new StaticFileOptions
|
||||||
|
{
|
||||||
|
ContentTypeProvider = contentTypeProvider
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//// 启用HTTPS
|
||||||
|
//app.UseHttpsRedirection();
|
||||||
|
|
||||||
|
// 启用OAuth
|
||||||
app.UseOAuth();
|
app.UseOAuth();
|
||||||
|
|
||||||
// 添加状态码拦截中间件
|
// 添加状态码拦截中间件
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user