【问题标题】:Google App Engine Flask 413 Request Entity Too Large ErrorGoogle App Engine Flask 413 请求实体太大错误
【发布时间】:2019-08-08 11:43:25
【问题描述】:

我想知道如何使用烧瓶修复谷歌应用引擎中的这个错误。我了解文件不能超过 32 MB。我正在上传视频并尝试将它们存储在谷歌云存储中,我需要处理大型视频。我听说使用 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'))

【问题讨论】:

标签: python google-app-engine flask web-deployment


【解决方案1】:

您可以通过以下两种方法通过 blobstore 执行此操作:

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 而不是 flask,尽管你可以为这个端点设置一个 webapp2 微服务

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

如果这两种方法都不起作用,那么您需要设置一个应用引擎 flex 微服务,以便您可以将 nginx conf 编辑为所有大于 32 MB 的文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 2017-03-05
    • 2014-12-30
    • 2014-12-23
    相关资源
    最近更新 更多