Google App Engine Flask 413 Слишком большая ошибка запроса объекта - PullRequest
1 голос
/ 18 марта 2019

Мне интересно, как исправить эту ошибку в Google App Engine с помощью колбы. Я понимаю, что файл не может превышать 32 МБ. Я загружаю видео и пытаюсь сохранить их в облачном хранилище Google, мне нужно обрабатывать большие видео. Я слышал, что использование blobstore api может помочь, но не нашел много документации по этому вопросу и как я могу реализовать это в этом коде.

<form id = "form2" action="{{ url_for('createPost') }}" method="POST" enctype="multipart/form-data">
<div class="form-group">
    <label for="files4">Video:</label>
    <input type="file" id="files4" name='files4'>
 </div>
</form>


def createPost():
    if request.method == 'POST':
    s = db.session()
    try:
        files4 = request.files.getlist('files4')
        print(files4)
    except Exception as e:
        print("[Upload] Got exception: %s" % str(e))
    return redirect(url_for('projects'))

1 Ответ

2 голосов
/ 18 марта 2019

Вот 2 метода, с помощью которых вы можете сделать это через интернет-магазин:

1 - create_upload_url

https://cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.ext.blobstore.blobstore#google.appengine.ext.blobstore.blobstore.create_upload_url

и вот пример

https://www.programcreek.com/python/example/103205/google.appengine.ext.blobstore.create_upload_url

2 - BlobstoreUploadHandler однако для этого необходимо использовать webapp2 вместо колбы, хотя вы можете настроить микросервис webapp2 только для этой конечной точки

https://cloud.google.com/appengine/docs/standard/python/tools/webapp/blobstorehandlers#BlobstoreUploadHandler

Если ни один из этих методов не сработает, вам потребуется настроить гибкий микро-сервис для движка приложений, чтобы можно было редактировать файл nginx conf для всех файлов размером более 32 МБ

...