Взгляните на некоторые JS-решения для загрузки AJAX - в частности, Plupload можно подключить к работе с BLOB-магазином App Engine, предоставляя поддержку мультизагрузки, загрузку AJAX и опции для загрузки виджетов / индикаторов выполнения / т. Д.
На самом деле, @ NickJohnson имеет полное сообщение в блоге , которое проведет вас по шагам.
Суть этого:
1) Загрузите и установите Plupload
2) Создайте обработчик, который возвращает сгенерированный URL для загрузки.Примерно так:
from google.appengine.ext import webapp
from google.appengine.api import blobstore
class BlobstoreURLResponder(webapp.RequestHandler):
""" Mapped to the URL /get_upload_url """
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.request.out.write(blobstore.create_upload_url('/blobstore/passthrough'))
3) Подключите Plupload, чтобы получить URL для загрузки BLOB-объектов перед загрузкой файла
uploader.bind('UploadFile', function(up, file) {
$.ajax({
url: '/get_upload_url',
async: false,
success: function(data) {
up.settings.url = data;
},
});
Для получения более подробных инструкций ознакомьтесь с этой записью в блоге.У Ника есть потрясающее прохождение, которое определенно помогло мне настроить Plupload + Blobstore.