2011-10-14 6 views
10

मैं एक SharePoint वेब पेज एक एसवीजी img टैग के अंदर एक SharePoint सूची की RootFolder में संग्रहीत फ़ाइल का संदर्भ देता है:क्रोम के रूप में एसवीजी फ़ाइल लोड नहीं है छवि/svg + xml

<img src='http://localhost/Lists/MyList/1/1.svg' type='image/svg+xml' /> 

छवि को आईई 9 में डेस्कटॉप पर और आईओएस डिवाइस (सफारी) पर सही ढंग से प्रस्तुत किया जाता है। हालांकि, विंडोज़ पर क्रोम में (मैं इस समय v14 का उपयोग कर रहा हूं) यह प्रदर्शित करने में विफल रहता है। यह बदले में टूटी छवि आइकन प्रस्तुत करता है।

क्रोम में नेटवर्किंग टैब से पता चलता है कि फ़ाइल 1. एसवीजी एप्लिकेशन/ऑक्टेट-स्ट्रीम (और इसलिए गलत प्रतिपादन) के रूप में डाउनलोड की गई है। मुझे बदलने की क्या ज़रूरत है ताकि क्रोम एमआईएम प्रकार सही ढंग से (टैग में निर्दिष्ट के रूप में) को पहचान रहा है? क्या यह क्रोम में एक बग हो सकता है (जैसा कि this SO answer में सुझाया गया है)? यदि हां, तो क्या एसवीजी फ़ाइल को किसी अन्य तरीके से लोड करने के लिए एक कार्य-आसपास है (उदाहरण के लिए, शायद एम्बेड टैग)?

ध्यान दें कि आईई का डीबगर (एफ 12) छवि/svg + xml के रूप में सही ढंग से प्रकार की पहचान करता है और इसलिए छवि को अपेक्षित रूप से प्रस्तुत करता है।

संपादित करें: चूंकि यह एक सर्वर साइड मुद्दे प्रतीत होता है (धन्यवाद @robertc) मैं तथ्य यह है कि फ़ाइल SharePoint द्वारा पेश किया जाता है, पर शक है कि SharePoint MIME प्रकार की पहचान नहीं कर जोड़ लिया है।

+0

आप किस वेब सर्वर का उपयोग कर रहे हैं? – robertc

+0

आईआईएस 7 अब विंडोज 7 पर (हालांकि इसे अंततः डब्ल्यूएस 2008 आर 2 पर तैनात किया जाएगा)। मैंने एमआईएमआई प्रकार को आईआईएस में जोड़ा है जिसने आईई 9 और आईओएस में स्ट्रीम मान्यता तय की है। –

उत्तर

9

पर img तत्व पर कोई विशेषता नहीं है, तो आपको सर्वर पर एमआईएम प्रकार सही ढंग से सेट करने की आवश्यकता है। मुझे लगता है कि यह केवल आईई में काम करता है क्योंकि यह सामग्री स्नीफिंग कर रहा है।

IIS7 पर और आप system.webServer खंड में web.config फ़ाइल में MIME प्रकार मैपिंग निर्दिष्ट कर सकते हैं इसके बाद के संस्करण:

<staticContent> 
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/> 
</staticContent> 

के बाद कि यह सभी ब्राउज़रों में काम करना चाहिए, लेकिन आप एक बल ताज़ा करने के लिए आवश्यकता हो सकती है (Ctrl + एफ 5) उन्हें फिर से फाइल का अनुरोध करने के लिए।

+0

मुझे यह त्रुटि एक त्रुटि (HTTP त्रुटि 500.19) प्राप्त होती है जब मैं इस लाइन को web.config में जोड़ता हूं क्योंकि टाइप IIS की MIME प्रकार सेटिंग्स में पहले से परिभाषित है। यह आईपैड (गैर-आईई ब्राउज़र) पर भी सही तरीके से काम करता है। –

+0

@ फिलिपस्चिम मैं सर्वर स्तर पर इसे हटा दूंगा, इस तरह आपको तैनात करते समय इसे करने के लिए याद रखना होगा। – robertc

+0

@ फिलिपस्चिम [यहां एक उदाहरण पृष्ठ है] (http://www.boogdesign.com/examples/svg/svg-as-image-testcase.html), अगर छवियां उस पर सही तरीके से लोड हो रही हैं तो आप सुनिश्चित कर सकते हैं कि यह आपका है सर्वर कॉन्फ़िगरेशन और ब्राउज़र नहीं है जो समस्या है। – robertc

संबंधित मुद्दे