Google app engine 无法从blobstore下载文件
Google app engine 无法从blobstore下载文件,google-app-engine,python-2.7,blobstore,Google App Engine,Python 2.7,Blobstore,我已使用代码成功地将文件上载到blobstore 但是我无法下载它 我正在做的是: `class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler): def get(self, blob_key): resource = str(urllib.unquote(blob_key)) logging.info('I am here.') //This gets printed s
我已使用代码成功地将文件上载到blobstore
但是我无法下载它 我正在做的是:
`class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, blob_key):
resource = str(urllib.unquote(blob_key))
logging.info('I am here.') //This gets printed successfully.
blob_info = blobstore.BlobInfo.get(blob_key)
logging.info(blob_info) //This gets logged too.
self.send_blob(blob_info)`
我也试过:blobstore.BlobReader(blob_key).read()
我以字符串形式获取文件数据,但无法将其写入文件,因为本地文件系统无法从处理程序中访问。上传文件的方式是我项目中的唯一方式,因此我不能使用谷歌官方教程中指定的常规方式。另外,我上传到blobstore的文件在我的本地文件系统中不存在,我从URL中选择它,,也许这就是我无法下载该文件的原因。
有什么建议吗?
谢谢也许您应该使用资源而不是代码示例中的blob_键
class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, blob_key):
resource = str(urllib.unquote(blob_key))
self.send_blob(resource)
您可以使用DownloadHandler,如下所示:
从mimetypes导入guess\u类型
def mime_type(filename):
return guess_type(filename)[0]
class Thumbnailer(blobstore_handlers.BlobstoreDownloadHandler):
def get(self , blob_key):
if blob_key:
blob_info = blobstore.get(blob_key)
if blob_info:
save_as1 = blob_info.filename
mime_type=mime_type(blob_info.filename)
self.send_blob(blob_info,content_type=mime_type,save_as=save_as1)