web-dev-qa-db-fra.com

application/font-woff2 ne fonctionne pas avec Asp.Net VNext

Je fais quelques expériences avec VNext + OSX + Chrome. J'essaie d'obtenir un fichier woff2

GET http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0 

Mais une erreur se produit. Voir l'en-tête de la demande ci-dessous 

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

C'est mon 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" });
        });
    }

J'ai vu un projet AspNet chez Github à propos de StaticFiles (lien ci-dessous) et il semble être pris en charge.

https://github.com/aspnet/StaticFiles/blob/dev/src/Microsoft.AspNet.StaticFiles/FileExtensionContentTypeProvider.cs

Pouvez-vous m'aider?

53
Austin Felipe

Le format de fichier woff2 se trouve dans la liste mapping , mais ceci a été ajouté récemment (février 2015). Vous ne pouvez donc pas utiliser une version contenant cette modification. Donc, pour ajouter un format de fichier personnalisé, vous pouvez utiliser la méthode IIS en utilisant web.config:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
  </staticContent>
</system.webServer>

Ou en utilisant 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);
}
114
meziantou

ajouter une déclaration de type mime à votre web.config

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
    </staticContent>
</system.webServer>

pour plus d'informations, voir:

Définir les types MIME pour les polices Web dans IIS

Correction rapide: fichier de police IIS .woff 404 introuvable dans asp.net mvc

15
user2985029

Si ci-dessus n'a pas fonctionné pour vous (n'a pas fonctionné pour moi). Alors essayez avec celui-ci:

<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
2
Krika

ajouter le type mime dans plesk 

application/font-woff2  .woff2

ça a fonctionné pour moi

0
Prince Prasad

Je devais d'abord activer l'extension (ce qui pourrait être fait dans IIS aussi) comme:

<system.webServer>
  ...
  <security>
    <requestFiltering>
      <fileExtensions>
        <remove fileExtension=".woff2" />
        <add fileExtension=".woff2" allowed="true" />
      </fileExtensions>
    </requestFiltering>
  </security>
...
</system.webServer>

ainsi que l'ajout du contenu statique mentionné précédemment ...

<system.webServer>
  ...
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
  </staticContent>
  ...
</system.webServer>
0
paraih