Здесь я пытаюсь загрузить файл асинхронно в хранилище BLOB-объектов. Вот что я сделал до сих пор:
html-файл
<form id="my_form" enctype="multipart/form-data" method="POST"
action="/partner">
<input type="file" id="my_file" name="my_file"/>
</form>
JS-файл
my.Project.prototype.onFileUpload = function(e) {
var uploadForm = /** @type {HTMLFormElement} */ (
goog.dom.getElement('my_form'));
var iframeIo = new goog.net.IframeIo();
goog.events.listen(iframeIo, goog.net.EventType.COMPLETE, function() { alert('request complete'); });
iframeIo.sendFromForm(uploadForm);
код Python
class MyHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
logging.info(self.request) // I can see my file in this line's output
upload_files = self.get_uploads('my_file')
logging.info(upload_files) //upload_files come out to be an empty array
blob_info = upload_files[0]
self.redirect('/partner/serve/%s' % blob_info.key())
Любые указатели на то, как получить файл для загрузки из объекта запроса. Код Python, предоставленный учебником Google по blobstore, можно найти здесь .
Теперь я застрял. Я считаю, что если я смогу получить файл в коде Python, я смогу его загрузить. Любые указатели будут очень полезны.
Спасибо,
Мохит