2014-06-08 56 views
8

ile SVG gönderiyor Google App Engine Python 2.7 ile kullanıyorum ve bir svg dosyası sprite sayfası olarak kullanmaya çalışıyorum.Google App Engine yanlış MIME tipi

Bu nedenle, Win7 ve Ubuntu'da, ancak Vista veya Mac'te (her durumda en son Chrome ve Firefox'u kullanma) iyi çalışır.

Mime-type "application/octet-stream" ile birlikte gönderilir ve tarayıcılar, görüntülemek yerine, bunları indirir.

Bu gibi benim app.yaml içinde mim tipi geçersiz kılma çalıştı:

- url: /img/.*\.svg 
    static_dir: public/img 
    mime_type: image/svg+xml 

- url: /img 
    static_dir: public/img 

Ama bu bir şey değişmedi.

Ben de bu

- url: /img/svg 
    static_dir: public/img 
    mime_type: image/svg+xml 

- url: /img 
    static_dir: public/img 

gibi kendi url yoluyla svg-dosyalar için rota istekleri çalıştı Ama böylece tarayıcı en irade, mim-tipi "img/png" ile gönderiliyor dosyaya neden En az görüntülemek için deneyin, ancak yapamıyorum. belirtildiği gibi

Sadece ben her kombinasyonu denedim, emin olmak için de başlıkları-seçenekleriyle: Başarısız

- url: /img/svg 
    static_dir: public/img 
    http_headers: 
    mime-type: image/svg+xml 

.

Herhangi bir yardım lütfen? Biraz daha testlerden sonra

[değiştir]

, bunun text/html olarak svg gönderir ve dağıtırken ne olursa olsun ben app koymak ne, application/octet-stream kullanır, yerel app-başlatıcısı kullanılarak Ubuntu üzerinde gibi görünüyor. yaml.

Bu konuda tecrübesi olan var mı? Bunu çözebilmemin tek yolu svg kodunu sayfanın içine direkt olarak sokmaktır. Bu bir grafik ve bu şekilde davranmak istiyorum.

[devamı değiştir] Sonunda

, ben yaml-dosyasında bu koymak ve o iş gibi görünüyor:

- url: /img/.*\.svg 
    static_dir: public/img 
    http_headers: 
    content_type: image/svg+xml 

- url: /img 
    static_dir: public/img 
+0

bir düzenleme sonrası Lütfen OP'niz cevap içeren tam .yaml koduyla mı? –

cevap

8

Dene:

http_headers: 
    content-type: image/svg+xml 
+0

Teşekkürler, bu iyi çalışıyor gibi görünüyor! Farklı istemci bilgisayarlarda neden bu kadar farklı davrandığına dair bir fikrin var mı? – HumanCatfood

+1

Hatalı bir MIME türü olan yanıtların sunulması, her zaman öngörülemeyen sonuçlara sahip olacaktır. Bazı müşteriler tahmin etmeye çalışacaktır; bunların hepsinin tahminlerin nasıl işlediğine dair farklı kuralları vardır ve bazıları tahmin ve/veya görüntülemeyi yapmak için işletim sistemi desteğine güvenebilirler. AppEngine'nin doğru MIME tipini tahmin edemeyeceği daha da kötüleşiyor; Bu durumda oldukça basit görünüyor. – flamingcow

+0

'.yaml' dosyasındaki' mime_type' bayrağı neden çalışmıyor? Belgelerinde: https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers GAE hatası gibi görünüyor. – speedplane