2010-07-13 4 views
114

juste couru mon site en chrome et suprisingly il arrive avec cet avertissement pour chacun de mes images .png:avertissement de type MIME en chrome pour les images .png

Resource interpreted as image but transferred with MIME type application/octet-stream. 

Tout le monde vu ceci avant?

Cordialement

+0

Cela se produit également pour moi, mais uniquement sur ma machine dev. Avez-vous déjà trouvé une explication? – BrianFinkel

+0

Y at-il un moyen de changer les types MIME dans Cassini? Il semble ignorer les paramètres '' dans la section '' du fichier web.config. – travis

+1

pourquoi je ne peux pas être celui avec 78 upvotes pour le même problème? toujours trop tard .... –

Répondre

4

Cet avertissement vous indique que votre serveur Web est configuré pour ne pas envoyer le type MIME correct des métadonnées pour les images PNG. Vous devriez probablement consulter l'administrateur de votre serveur Web et leur demander de définir le mappage MIME correct.

+36

-1: Et si vous * êtes * l'administrateur! :/ –

+3

@JimG Si vous êtes l'administrateur d'un serveur web, vous trouverez probablement la réponse sur [le site de soeur pour les webmasters] (http://webmasters.stackexchange.com/q/31547/1918) –

+0

+1 C'est la réponse la plus descriptive et la plus utile. Aucune idée de pourquoi il a été tellement déprécié. –

84

J'ai rencontré ce problème lors de l'exécution d'une application ASP.NET WebForms à l'aide du serveur de développement ASP.NET.

Je pense que quelque chose de similaire se produira si vous utilisez IIS Express comme serveur (VS 2010 SP1). J'ai «résolu» mon problème localement en éditant les paramètres du projet (sous Web) et en passant d'ASP.NET Development Server à IIS sur ma machine locale. Je peux voir que le PNG était déjà défini correctement comme un type MIME d'image et en effet quand je frappe mon serveur IIS local, il sert le fichier avec le bon type.

+0

Merci Stefan, réponse pratique! –

+11

Avec IIS Express, il n'y a pas d'avertissement de type MIME sur les images PNG. C'est fondamentalement IIS 7.5 dans une forme plus portable (et IIS standard n'a aucun problème à servir des PNGs). J'ai juste créé un nouveau projet, confirmé l'avertissement dans Cassini (le serveur de dev), l'ai mis à IIS Express et ai confirmé que l'avertissement disparaissait. – patridge

+0

La chose étrange que j'ai rencontrée est que j'ai créé une application MVC ASP.NET 4 et cela fonctionne très bien le chargement des fichiers png dans Cassini. J'ai mis à jour une application MVC ASP.NET 1 jusqu'à 4 et je rencontre ce problème dans Cassini avec les mêmes fichiers png. Des idées? – MattB

4

J'ajouté types comme ça dans .htaccess (AddType image/Type extention) à savoir

AddType image/png cur 
AddType image/svg+xml svg svgz 
2

solutions ci-dessus Ofcourse sont parfaits. Juste pour éviter les avertissements et pour une console propre j'ai fait suivre le changement dans mon code. (Cela aussi que pour ASP.NET Development Server) j'écrit un gestionnaire supplémentaire pour ceci:

PNGHandler.cs

class PNGHandler : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
     if(context.Request.HttpMethod == "GET") 
     { 
      string requestedFile = context.Server.MapPath(context.Request.FilePath); 
      FileInfo fileinfo = new FileInfo(requestedFile); 
      string contentType = ""; 
      if (fileinfo.Exists && fileinfo.Extension.Remove(0, 1).ToUpper() == "PNG") 
      { 
        contentType = "image/png"; 
        context.Response.ContentType = contentType; 
        context.Response.TransmitFile(requestedFile); 
        context.Response.End(); 
       } 
     } 
    } 
} 

et a ajouté Http Handler dans web.config sous system.web

<system.web> 
<httpHandlers> 
<add path="*.png" verb="*" type="PNGHandler" /> 
</httpHandlers> 
</system.web> 
0

Le moyen le plus rapide pour contourner le spam que j'ai trouvé est d'utiliser la touche CTRL pour sélectionner les erreurs, les avertissements et le débogage au lieu de tout.

Tous: enter image description here

erreurs, avertissements et débogage: enter image description here

0

Je l'ai résolu ce problème en permettant Article statique dans Panneau de configuration>Programmes et fonctionnalités>Turn Fonctions Windows activées ou désactivées>Composants IIS>Worl d Wide Web Services>Fonctionnalités HTTP courantes