Google App Engine - 默认 MIME 类型
Google App Engine - default MIME type
长话短说:
我正在构建一个静态 Web 应用程序,当与节点 http-server 一起使用时,它似乎在本地运行良好,但当部署到 Google App Engine 时,出现问题。我已将问题追溯到 content-type header:在本地服务时,我的一些文件(来自 Emscripten 库)使用 application/octet-stream; charset=utf-8
提供,这有效。当从 App Engine 提供服务时,它们只提供 application/octet-stream
,这是行不通的。我已经能够通过向我的 app.yaml
处理程序之一添加 mime_type: application/octet-stream; charset=utf-8
行来验证这一点,但是有数十个或数百个文件与不同的 MIME 类型混合在一起。如果不需要,我不想将它们全部标记为 octet-stream。
那么在 app.yaml
中是否有一种方法可以简单地指定 application/octet-stream
之外的默认 mimetype?如果没有,我将不得不通过我的处理程序匹配器获得更多创意。
您无法设置默认的全局 MIME 类型,但您可以(如您所述)发挥创意。 This is a good example 静态网站的 app.yaml
文件,为每个不同的文件类型定义案例并不罕见,以便更好地控制 placement/mime。
对于您的情况,您可能希望扩展以下想法:
- url: /(.*\.(svg|svgz))
mime_type: images/svg+xml
static_files: static/
upload: static/(.*\.(svg|svgz))
使用此模式,您可以将多个文件类型与相同的 mime 类型相匹配。可能是解决您问题的最快(也是最脏?)路径。
Here's another app.yaml
example 供进一步参考。
长话短说:
我正在构建一个静态 Web 应用程序,当与节点 http-server 一起使用时,它似乎在本地运行良好,但当部署到 Google App Engine 时,出现问题。我已将问题追溯到 content-type header:在本地服务时,我的一些文件(来自 Emscripten 库)使用 application/octet-stream; charset=utf-8
提供,这有效。当从 App Engine 提供服务时,它们只提供 application/octet-stream
,这是行不通的。我已经能够通过向我的 app.yaml
处理程序之一添加 mime_type: application/octet-stream; charset=utf-8
行来验证这一点,但是有数十个或数百个文件与不同的 MIME 类型混合在一起。如果不需要,我不想将它们全部标记为 octet-stream。
那么在 app.yaml
中是否有一种方法可以简单地指定 application/octet-stream
之外的默认 mimetype?如果没有,我将不得不通过我的处理程序匹配器获得更多创意。
您无法设置默认的全局 MIME 类型,但您可以(如您所述)发挥创意。 This is a good example 静态网站的 app.yaml
文件,为每个不同的文件类型定义案例并不罕见,以便更好地控制 placement/mime。
对于您的情况,您可能希望扩展以下想法:
- url: /(.*\.(svg|svgz))
mime_type: images/svg+xml
static_files: static/
upload: static/(.*\.(svg|svgz))
使用此模式,您可以将多个文件类型与相同的 mime 类型相匹配。可能是解决您问题的最快(也是最脏?)路径。
Here's another app.yaml
example 供进一步参考。