【问题标题】:Google App Engine: How to serve a static file from a RequestHandler?Google App Engine:如何从 RequestHandler 提供静态文件?
【发布时间】:2016-09-02 02:12:28
【问题描述】:

我有一个RequestHandler,它需要发送一个大型静态文件的内容作为响应。我可以简单地打开文件并将其写入response 对象,但这效率低下。有没有办法将交付交给 Google App Engine 框架,类似于 send_blob

我可以发誓我以前见过这样的功能,但在 GAE 文档中找不到它。

【问题讨论】:

  • 只返回它的路径,让客户端获取它
  • @ZigMandel 你的意思是重定向?这会引入延迟,并且还会更改 URL。我的处理程序映射到/pets/my-cats,但我正在尝试服务/static/fr_FR/mes-chats.html

标签: python python-2.7 google-app-engine google-app-engine-python


【解决方案1】:

避免使用 RequestHandler。而是将app.yaml 配置为Serving Static Files。例如,投放 favicon.ico:

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

【讨论】:

  • 很遗憾,我不能这样做,因为我需要执行一些逻辑来确定将提供哪个静态文件。
  • 有什么方法可以在客户端执行逻辑吗?例如,我有一个 AngularJS 应用程序,它从数据中生成一个图像 URL。
  • 我的处理程序需要根据客户端的 Accept-Language 标头和/或 IP 地址的组合来选择文件,并提供特定于区域设置的内容。
  • 那么我认为写入 Response 对象是您唯一的解决方案。
猜你喜欢
  • 1970-01-01
  • 2017-08-15
  • 2019-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
相关资源
最近更新 更多