Google App Engine - 下载静态文件

时间:2015-02-05 13:18:51

标签: google-app-engine

我有一个名为 static 的目录的GAE应用程序,其中有两个子目录 css js。这些目录中的每一个目录分别包含CSS和JavaScript文件。在我的HTML代码中,我已经引用了这些文件,例如:

<script src="/static/js/bootstrap-typeahead.js"></script>

我的app.yaml文件如下所示:

application: ********
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /static
  static_dir: static
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico 
- url: /.*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.2"
- name: jinja2
  version: latest

然而,CSS样式和JavaScript文件并没有应用于HTML代码,当我查看源代码并单击代码中的链接时,CSS和JS文件在新选项卡和下载提示符中打开弹出。

问:为什么要下载这些文件而不是与我的HTML链接?

编辑:我不确定这是否相关,但我的GAE日志显示请求以304响应返回:

INFO     2015-02-05 18:43:51,229 module.py:639] default: "GET /static/js/bootstrap-typeahead.js HTTP/1.1" 304 -

编辑2:查看我的Google Chrome开发人员工具&#39;网络选项卡我才知道这些文件的mime类型是 application / x-js application / x-css。现在,我确定这个是我的问题的原因,但为什么是mime类型,所以docs明确提到,

  

默认情况下,App Engine使用基于文件扩展名的MIME类型提供静态文件。例如,名称以.css结尾的文件将以MIME类型text / css提供。

我尝试通过app.yaml修改mime类型,方法是明确指定mime类型,但它仍然没有改变。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我决定清理登台桶。

为此,请在我的GCP控制台上打开存储区部分,然后删除存储区中所有带有名称暂存的文件。{projectname} .appspot.com