Png छवियों के लिए क्रोम में MIME प्रकार की चेतावनी


115

बस अपनी साइट को क्रोम में चलाएं और आश्चर्यजनक रूप से यह मेरी प्रत्येक .png छवियों के लिए इस चेतावनी के साथ आता है:

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

इससे पहले किसी ने देखा?

सादर


यह मेरे लिए भी होता है, लेकिन केवल मेरी देव मशीन पर। क्या आपको कभी कोई स्पष्टीकरण मिला?
ब्रायनफिंकल

क्या कैसिनी में MIME प्रकार बदलने का कोई तरीका है? ऐसा लगता है कि web.config में अनुभाग में <staticContent>सेटिंग्स को अनदेखा कर रहा है <system.webServer>
ट्रैविस

1
मैं एक ही समस्या के लिए 78 upvotes के साथ एक क्यों नहीं हो सकता? हमेशा बहुत देर से ....
स्कॉट सेल्बी

2
लगभग 2 almost वर्ष देर से; ओ)
म्यूलस्किनर

मुझे अभी पता चला है कि आप नियंत्रण कुंजी को दबाए रख सकते हैं और केवल त्रुटि, डिबग और चेतावनी का चयन कर सकते हैं। इस तरह जब आप डीबग कर रहे होते हैं तो आपका लॉग माइम प्रकार की त्रुटियों से बँधा नहीं होता है लेकिन आप बाकी सब कुछ देखते हैं। बेहद सुविधाजनक।
डेविल्स एडवोकेट

जवाबों:


84

ASP.NET विकास सर्वर का उपयोग करते हुए ASP.NET WebForms ऐप चलाते समय मुझे इसका सामना करना पड़ा।

मुझे संदेह है कि यदि आप अपने सर्वर के रूप में भी (IIS 2010 SP1) IIS एक्सप्रेस का उपयोग करते हैं तो ऐसा ही कुछ होगा।

मैंने प्रोजेक्ट सेटिंग्स (वेब ​​के तहत) को संपादित करके और स्थानीय रूप से ASP.NET डेवलपमेंट सर्वर से IIS में बदलकर अपनी समस्या को स्थानीय स्तर पर हल कर लिया। मैं देख सकता हूं कि PNG पहले से ही एक छवि MIME प्रकार के रूप में सही ढंग से परिभाषित किया गया था और वास्तव में जब मैंने अपने स्थानीय IIS सर्वर को मारा तो यह सही प्रकार के साथ फ़ाइल की सेवा कर रहा है।


11
IIS एक्सप्रेस का उपयोग करना, PNG छवियों पर कोई MIME प्रकार चेतावनी नहीं है। यह मूल रूप से मानक IIS 7.5 अधिक पोर्टेबल रूप में है (और मानक IIS को PNGs की सेवा करने में कोई परेशानी नहीं है)। मैंने अभी एक नया प्रोजेक्ट शुरू किया है, कैसिनी (देव सर्वर) में चेतावनी की पुष्टि की, इसे IIS एक्सप्रेस में सेट किया और पुष्टि की कि चेतावनी चली गई।
Patridge

अजीब बात यह है कि मैंने सामना किया है कि मैंने एक MVC ASP.NET 4 एप्लिकेशन बनाया है और यह कासिनी में पीएनजी फाइलों को ठीक से लोड करने का काम करता है। मैंने 4 तक एक एमवीसी एएसपीनेट 1 एप्लिकेशन को अपग्रेड किया और मैं उसी पीएनजी फाइलों के साथ कैसिनी में इस समस्या का सामना करता हूं। कोई विचार?
मैट 10

1
@MattB - मेरा सुझाव है कि अपने नए MVC4 प्रोजेक्ट और एक टेक्स्ट एडिटर में अपग्रेड किए गए एक साइड के बीच कॉन्फिग फाइल्स (csproj और web.config) की तुलना करें। मेरा पहला अनुमान है कि एक असेंबली रेफरेंस या ऐसा ही है जो अपने आप अपग्रेड नहीं हुआ। यदि यह उससे अधिक जटिल है, तो आप एक नया प्रश्न खोलना और अधिक विवरण शामिल कर सकते हैं।
स्टीफन मोहर

@StefanMohr आपकी प्रतिक्रिया के लिए धन्यवाद, देर से वापसी के लिए क्षमा करें। मैंने दोनों की तुलना की और सामान्य से हटकर कुछ भी नहीं देखा। मैं यहां तक ​​कि csproj और web.configs दोनों के लिए आवश्यक परिवर्तन करने के लिए गया ताकि उन्हें नए बनाए गए ASP.Net MVC 4 प्रोजेक्ट के समान बनाया जा सके, ऐसा कोई भाग्य नहीं है। अंत में, मैंने बस एक नई परियोजना बनाई और नई परियोजना के लिए सब कुछ पोर्ट किया।
मैटब

वेबसाइट को एज़्योर पर होस्ट किया गया है और मुझे इस कंसोल को मेरे कंसोल को पैक करने में त्रुटि हुई।
शिमी वेइटहैंडलर

4

यह चेतावनी आपको बता रही है कि आपका वेब सर्वर PNG छवियों के लिए सही MIME प्रकार मेटा डेटा भेजने के लिए कॉन्फ़िगर नहीं किया गया है। आपको अपने वेब सर्वर के लिए प्रशासक से परामर्श करना चाहिए और उन्हें सही MIME मैपिंग सेट करने के लिए कहना चाहिए


3
@JimG यदि आप एक वेब सर्वर के प्रशासक हैं, तो आप शायद वेबमास्टर्स के लिए बहन साइट
रॉलैंड शॉ

+1 यह सबसे वर्णनात्मक और उपयोगी उत्तर है। पता नहीं क्यों इसे इतना कम कर दिया गया है।
सर क्रिस्प्लॉट

@JimG। यदि आप प्रशासक थे, तो आप कहेंगे कि आप किस वेबसर्वर का उपयोग कर रहे थे, या वेबमास्टर्स के
रोलां शॉ

सहमत, सबसे उपयोगी जवाब। @JimG समझ में नहीं आया। downvote।
21

4

मैंने इसमें .htaccess (AddType image / type extention) जैसे प्रकार जोड़े हैं

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

2

समाधानों के ऊपर काकोर्ट एकदम सही है। बस चेतावनियों से बचने के लिए और एक साफ कंसोल के लिए मैंने अपने कोड में बदलाव किया। (वह भी केवल ASP.NET डेवलपमेंट सर्वर के लिए) मैंने इसके लिए एक अतिरिक्त हैंडलर लिखा:

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();
              }
         }
    }
}

और system.web के तहत web.config में Http हैंडलर जोड़ा

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

0

स्पैम का सबसे तेज़ तरीका जो मुझे मिला है, वह सभी के बजाय त्रुटियों, चेतावनियों और डिबग को चुनने के लिए CTRL कुंजी का उपयोग करना है।

सब: यहां छवि विवरण दर्ज करें

त्रुटियां, चेतावनी और डिबग: यहां छवि विवरण दर्ज करें


0

मैंने नियंत्रण कक्ष > कार्यक्रम और सुविधाओं में स्टेटिक कंटेंट को सक्षम करके इस समस्या को हल किया है > Windows सुविधाओं को चालू या बंद करें > IIS घटक > वर्ल्ड वाइड वेब सेवाएँ > सामान्य HTTP सुविधाएँ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.