【问题标题】:Serving files from BlobStore in GAE在 GAME 中提供来自 Blob 存储的文件
【发布时间】:2012-04-08 22:18:51
【问题描述】:

我想问一下我是否可以在不使用处理程序(类处理程序)的情况下从谷歌应用引擎中的 blobstore 下载文件(尤其是 zip 文件)。我的意思是直接提供文件而不使用下载处理程序类。

有什么想法吗??

【问题讨论】:

  • 你为什么要这样做?

标签: python google-app-engine blobstore


【解决方案1】:

没有。 (如果我正确理解了这个问题)blobstore 项目没有直接的 URL,因此您无法直接获取它们。 However you can serve blobs from URLs that you define with less than 10 lines of code

编辑:The send_blob also takes a save_as argument. 尝试save_as=True 使用 blob 的上传文件名作为附件文件名。

【讨论】:

  • :我知道我可以使用 ***class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):***但是我在 blobstorage 上创建了 zip 文件并且我得到了该文件的 blobkey 但我不能用这种方法服务,请知道吗??
  • 为什么不能用这种方法来服务它?
  • @mjhm:我知道这个参数(save_as),我在从 blob 上传和下载(服务)时尝试了它,它工作正常,但问题正是我将 zip 文件上传到 blob 和它已成功上传,我可以获取此文件的 blobkey,但是当使用下载处理程序提供此文件时,我无法将此密钥传递给此处理程序,这就是问题所在。感谢您的帮助。
  • send_blob 采用 BlobInfo 对象,而不是 BlobKey。也许你需要 .send_blob(BlobInfo.get(your_blob_key)) 之类的东西。
  • @mjhm:我理解这些想法,我在 blob 存储上成功创建了 zip,但我不能使用下载处理程序来提供这个文件,我得到了这个文件的 BlobKey 和 BlobInfo 但是当我尝试调用 ServeHandler 并将此信息传递给它,我遇到了这个问题:((状态:404 未找到内容类型:文本/html;字符集 = utf-8 缓存控制:无缓存过期:星期五,1990 年 1 月 1 日 00 :00:00 GMT Content-Length: 0))。对这个问题有任何想法吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-05-16
  • 2012-05-01
  • 2020-08-09
  • 2021-12-05
  • 2013-05-04
  • 2013-06-04
  • 1970-01-01
  • 2020-12-03
相关资源
最近更新 更多