application/font-woff2 使用 Asp.Net VNext 时不工作
application/font-woff2 not working when using Asp.Net VNext
我正在用 VNext + OSX + Chrome 做一些实验。我正在尝试获取 woff2 文件
GET http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0
但是出现错误。请参阅
下面的请求 header
Remote Address:127.0.0.1:5003
Request URL:http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0
Request Method:GET
Status Code:404 Not Found
这是我的Startup.cs
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
app.UseServices(services =>
{
services.AddMvc();
});
// Add MVC to the request pipeline
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
}
我在 Github 的 AspNet 项目中看到了关于 StaticFiles 的内容(Link 如下),它似乎得到了支持。
你们能帮帮我吗?
将 MIME 类型声明添加到您的 web.config
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
有关详细信息,请参阅:
文件格式 woff2
在 mapping list 中,但这是最近(2015 年 2 月)添加的,因此您不能使用包含此更改的版本。因此,要添加自定义文件格式,您可以使用 IIS 方式使用 web.config
:
<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
或使用StaticFilesOptions
:
public void Configure(IApplicationBuilder app)
{
StaticFileOptions options = new StaticFileOptions();
FileExtensionContentTypeProvider typeProvider = new FileExtensionContentTypeProvider();
if (!typeProvider.Mappings.ContainsKey(".woff2"))
{
typeProvider.Mappings.Add(".woff2", "application/font-woff2");
}
options.ContentTypeProvider = typeProvider;
app.UseStaticFiles(options);
}
在 plesk 中添加 mime 类型
application/font-woff2 .woff2
对我有用
如果以上对您不起作用(对我不起作用)。然后试试这个:
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
我需要先启用扩展(也可以在 IIS 中完成),例如:
<system.webServer>
...
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".woff2" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
...
</system.webServer>
以及添加前面提到的静态内容...
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
...
</system.webServer>
我正在用 VNext + OSX + Chrome 做一些实验。我正在尝试获取 woff2 文件
GET http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0
但是出现错误。请参阅
下面的请求 headerRemote Address:127.0.0.1:5003
Request URL:http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0
Request Method:GET
Status Code:404 Not Found
这是我的Startup.cs
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
app.UseServices(services =>
{
services.AddMvc();
});
// Add MVC to the request pipeline
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
}
我在 Github 的 AspNet 项目中看到了关于 StaticFiles 的内容(Link 如下),它似乎得到了支持。
你们能帮帮我吗?
将 MIME 类型声明添加到您的 web.config
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
有关详细信息,请参阅:
文件格式 woff2
在 mapping list 中,但这是最近(2015 年 2 月)添加的,因此您不能使用包含此更改的版本。因此,要添加自定义文件格式,您可以使用 IIS 方式使用 web.config
:
<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
或使用StaticFilesOptions
:
public void Configure(IApplicationBuilder app)
{
StaticFileOptions options = new StaticFileOptions();
FileExtensionContentTypeProvider typeProvider = new FileExtensionContentTypeProvider();
if (!typeProvider.Mappings.ContainsKey(".woff2"))
{
typeProvider.Mappings.Add(".woff2", "application/font-woff2");
}
options.ContentTypeProvider = typeProvider;
app.UseStaticFiles(options);
}
在 plesk 中添加 mime 类型
application/font-woff2 .woff2
对我有用
如果以上对您不起作用(对我不起作用)。然后试试这个:
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
我需要先启用扩展(也可以在 IIS 中完成),例如:
<system.webServer>
...
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".woff2" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
...
</system.webServer>
以及添加前面提到的静态内容...
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
...
</system.webServer>