0

Я пытаюсь загрузить в облако хранилище из своего приложения для приложений приложений, но он продолжает загружать имя файла вместо его содержимого.Загрузить в Google Cloud Storage

HTML, довольно прост:

<form id="uploadbanner" enctype="multipart/form-data" action="/upload"> 
    <input id="fileupload" name="myfile" type="file" /> 
    <input type="submit" value="submit" id="submit" /> 
</form> 

Элемент питон выглядит следующим образом:

class Uploader(webapp2.RequestHandler): 
def get(self): 
    objectname = '%s'%str(uuid.uuid4()) 
    objectpath = '/gs/bucketname/%s' %objectname 
    upload = self.request.get('myfile') 
    writable = files.gs.create(filename=objectpath, mime_type='application/octet-stream', acl='public-read') 
    with files.open(writable, 'a') as f: 
     f.write(upload) 
    files.finalize(writable) 
    self.response.write('done') 

Я знаю f.write(upload) определенно неправильно, но я понятия не имею, что я должен заменить его с

ответ

1

Возможно, вы должны разрешить загрузке браузера непосредственно в GCS и только после этого вызвать обработчик.

Чтобы получить краткий обзор того, как это можно сделать, посмотрите на этот пост: Upload images/video to google cloud storage using Google App Engine

Даже если Blobstore API, кажется, называется в этом примере, файлы будут загружены в Cloud Storage.

1

Это должен быть POST, а не GET, поэтому добавьте method="POST" в форму и сделайте запись функции python вместо того, чтобы ее тоже сортировать.

Смежные вопросы