2015-04-30 76 views
1

長話短說:谷歌應用程序引擎 - 默認MIME類型

我建立一個靜態的Web應用程序時與節點HTTP的服務器提供服務,但在部署到谷歌應用程序引擎,這似乎在本地工作的罰款,有的問題。我已經將問題追溯到內容類型標題:在本地提供服務時,我的一些文件(來自Emscripten庫)與application/octet-stream; charset=utf-8一起工作。當從App Engine提供服務時,只需要application/octet-stream,但不起作用。我已經能夠通過將mime_type: application/octet-stream; charset=utf-8行添加到我的app.yaml處理程序之一來驗證此情況,但是有幾十個或數百個文件與不同的MIME類型混合在一起。如果我不需要,我不想將它們全部標記爲八位字節流。

那麼除了application/octet-stream之外,還有什麼方法可以在app.yaml中指定默認的mimetype?如果不是,我將不得不與我的處理者匹配者更加富有創造力。

回答

1

您不能設置默認的全局MIME類型,但您可以(如您所述)獲得創意。 This is a good example對於靜態網站app.yaml文件,爲每個不同文件類型定義案例並不少見,以便對放置/ MIME進行良好控制。

在你的情況,你可能希望在以下思路擴展:

- url: /(.*\.(svg|svgz)) 
    mime_type: images/svg+xml 
    static_files: static/\1 
    upload: static/(.*\.(svg|svgz)) 

使用這個模式,你可以用相同的MIME類型相匹配多種文件類型。可能是最快的(&最髒?)路徑來解決你的問題。

Here's another app.yaml example作進一步參考。