如何从 GAE 的 blobstore 下载具有原始文件名的文件?

2024-01-05

将文件上传到 blobstore 后,它会将其重命名为“s9QmBqJPuiVzWbySYvHVRg==”。如果您导航到其“/serve”URL 来下载该文件,则下载的文件将被命名为这个混乱的字母。

有没有办法让下载的文件在上传时保留其原始文件名?


当使用以下方式上传文件时BlobUploadHandler原始文件名作为 name 属性存储在新创建的文件中BlobInfo entity.

在 blob 服务处理程序中,您可以指定 blob 应作为下载附件返回,并且可以指定应使用什么名称保存它

from google.appengine.ext import webapp
import urllib

class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
  def get(self, blob_info_key=None):
    blob_info_key = str(urllib.unquote(blob_info_key))
    blob_info = retrieve_blob_info(blob_info_key)
    self.send_blob(blob_info, save_as=blob_info.filename)


blob_app = webapp.WSGIApplication([
  ('/_s/blob/([^/]+)', blob.ServeHandler),
], debug=config.DEBUG)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 GAE 的 blobstore 下载具有原始文件名的文件? 的相关文章

随机推荐