Я работал на движке приложений Google с python.Я создал zip-архивы в хранилище блогов, но при попытке загрузить этот файл возникла проблема.
Я покажу некоторые детали: сначала я создал этот архив на блобе, а затем получил ключ этогозагруженный файл.Я хочу отправить этот ключ в URL на другую страницу Python, например:
print'<a href="download.py?key=%s">Save Zip</a>' % blob_key
Теперь на странице download.py я попытался получить ключ из URL как: self.request.get ('key'), но это не работает.
На этой странице я написал
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
...... и т. д.
Это единственный класс, который я использовалчтобы скачать zip, но проблема в том, что я не могу получить ключ, и когда я запускаю приложение, я получаю эту проблему:
****Status: 404 Not Found
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Content-Length: 0****
код app.yaml:
application: cloudcomputingproject20122012
version: 1
runtime: python
api_version: 1
handlers:
- url: /compress.py
script: compress.py
- url: /decompress.py
script: decompress.py
- url: (.*)/
static_files: static\1/index.html
upload: static/index.html
Теперь в compress.py я создал два класса: создал zip, сохранил его в хранилище больших двоичных объектов, получил ключ bob для этого сохраненного файла, затем определил ключ blob как глобальную переменную, теперь в классе обработчика обслуживания я пытаюсь загрузить этот zip, ноя не могу.
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self):
global x
#x="tvsD0KgYxX85hyC9wJHsqw=="
print x
x = str(urllib.unquote(x))
blob_info = blobstore.BlobInfo.get(x)
self.send_blob(blob_info,save_as=True)
def main():
application = webapp.WSGIApplication( [('/serve', ServeHandler),], debug=True)
c=zip()
c.z()
run_wsgi_app(application)
if __name__ == "__main__":
main()