2011-10-14 33 views
10

Ben img etiketinin içinde SharePoint listesinin ait RootFolder saklanan bir SVG dosyasını başvuran bir SharePoint web sayfası:Krom gibi SVG dosyası yüklenmiyor görüntü/svg + xml

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

Görüntü, masaüstü bilgisayarlarda ve iOS cihazlarda (Safari) IE9'da doğru bir şekilde oluşturulmuştur. Ancak, Windows'taki Chrome'da (şu anda v14 kullanıyorum) görüntülenemiyor. Bunun yerine bozuk görüntü simgesi oluşturur.

Chrome'daki ağ sekmesi, 1.svg dosyasının, uygulama/octet akışı olarak indirilen olduğunu (ve dolayısıyla yanlış oluşturma) olduğunu ortaya çıkarır. Chrome'un MIME türünü (etikette belirtildiği gibi) doğru olarak tanıması için neye ihtiyacım var? Chrome'da bir hata olabilir (this SO answer'da önerildiği gibi)? Öyleyse, SVG dosyasını başka bir şekilde yüklemek için bir çalışma var mı (örneğin, gömme etiketi belki)?

IE'nin hata ayıklayıcısının (F12), türünü görüntü/svg + xml olarak doğru şekilde tanımladığını ve dolayısıyla görüntünün beklendiği gibi işlediğini unutmayın.

Düzenleme: bir sunucu tarafı sorunu olarak görünmektedir beri (teşekkürler @robertc) Ben dosya SharePoint MIME türünü tanımayabilir şüphelenen SharePoint ile servis edilir gerçeğini ekledik.

+0

Hangi web sunucusunu kullanıyorsunuz? Şimdilik Windows 7 üzerinde – robertc

+0

IIS 7 (en sonunda WS 2008 R2'ye dağıtılacak olsa da). MIMI türünü IE 9 ve iOS'ta akış tanımayı sabitleyen IIS'ye ekledim. –

cevap

9

type özniteliği yok, img öğesinde MIME türünü sunucuda doğru şekilde ayarlamanız gerekiyor. Ben sadece IE'de çalışıyor çünkü içerik koklama yapıyor.

IIS7

ve system.webServer bölümünde web.config dosyasında MIME türü eşlemeleri belirtebilirsiniz yukarıda:

tüm tarayıcılarda çalışması gerekir, ancak bir kuvvet yenilemesi yapmanız gerekebilir Bundan sonra
<staticContent> 
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/> 
</staticContent> 

(Ctrl + F5) dosyayı tekrar talep etmelerini sağlamak için.

+0

Bu satırı web.config dosyasına eklediğimde bir hata alıyorum (HTTP Hatası 500.19), çünkü tür zaten IIS'nin MIME Türü ayarlarında tanımlanmıştır. Ayrıca iPad'de (IE olmayan tarayıcı) da düzgün çalışıyor. –

+0

@PhilippSchmid Sunucu düzeyinde kaldıracağım, bu şekilde dağıttığınızda yapmaya devam etmeyi hatırlamanız gerekmeyecek. – robertc

+0

@PhilippSchmid [İşte bir örnek sayfa] (http://www.boogdesign.com/examples/svg/svg-as-image-testcase.html), eğer görüntüler doğru şekilde yükleniyorsa, sunucu yapılandırması ve tarayıcı sorun değil. – robertc