2015-04-30 48 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作进一步参考。