resource - application/font-woff2 no funciona cuando se usa Asp.Net VNext
failed to load resource woff2 (5)
Estoy haciendo algunos experimentos con VNext + OSX + Chrome. Estoy tratando de obtener un archivo woff2
GET http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0
Pero se produce un error. Vea el encabezado de la solicitud a continuación
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
Este es mi 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" });
});
}
Vi dentro del proyecto AspNet en Github sobre StaticFiles (Enlace abajo) y parece ser compatible.
¿Me pueden ayudar?
El formato de archivo
woff2
está en la
lista de mapeo,
pero se agregó recientemente (febrero de 2015), por lo que no puede usar una versión que contenga este cambio.
Entonces, para agregar un formato de archivo personalizado, puede usar la forma IIS usando
web.config
:
<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
O usando
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);
}
Primero necesitaba habilitar la extensión (que también se podía hacer en IIS) como:
<system.webServer>
...
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".woff2" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
...
</system.webServer>
además de agregar el contenido estático mencionado anteriormente ...
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
...
</system.webServer>
Si lo anterior no funcionó para usted (no funcionó para mí). Entonces prueba con este:
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
agregar tipo mime en plesk
application/font-woff2 .woff2
funciono para mi
agregue una declaración de tipo mime a su web.config
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
para más información ver:
Establecer tipos mime para fuentes web en IIS
Solución rápida: el archivo de fuente 404 de IIS .woff no se encuentra en asp.net mvc