я создал zip-файлы в blobstore в GAE, затем я попытался получить (скачать) этот zip-файл, используя этот код:
def send_blob(blob_key_or_info, content_type=None, save_as=None):
CONTENT_DISPOSITION_FORMAT = "attachment; filename=\"%s\""
if isinstance(blob_key_or_info, blobstore.BlobInfo):
blob_key = blob_key_or_info.key()
blob_info = blob_key_or_info
else:
blob_key = blob_key_or_info
blob_info = None
if blob_info:
content_type = content_type or mime_type(blob_info.filename)
save_as = save_as or blob_info.filename
#print save_as
logging.debug(blob_info)
response = Response()
response.headers[blobstore.BLOB_KEY_HEADER] = str(blob_key)
if content_type:
if isinstance(content_type, unicode):
content_type = content_type.encode("utf-8")
response.headers["Content-Type"] = content_type
else:
del response.headers["Content-Type"]
def send_attachment(filename):
if isinstance(filename, unicode):
filename = filename.encode("utf-8")
response.headers["Content-Disposition"] = (\
CONTENT_DISPOSITION_FORMAT % filename)
if save_as:
if isinstance(save_as, basestring):
send_attachment(save_as)
elif blob_info and save_as is True:
send_attachment(blob_info.filename)
else:
if not blob_info:
raise ValueError("Expected BlobInfo value for blob_key_or_info.")
else:
raise ValueError("Unexpected value for save_as")
return response
и если я вызову эту функцию в main и напечатаю возвращаемое значение из этой функции (response), я получу, например:
200 ОК
Длина контента: 0
X-AppEngine-BlobKey: C25nn_O04JT0r8kwHeabDw ==
Тип контента: приложение / почтовый индекс
Содержание-Диспозиция: вложение; имя файла = "test.zip"
Но вопрос, как я могу теперь использовать этот ответ, чтобы получить файл на мой компьютер (скачать его)?
Заранее спасибо.