我想知道如何使用Flask在Google App Engine中修复此错误。我知道文件不能超过32 MB。我正在上传视频并将其存储在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'))

最佳答案

您可以通过以下2种方法通过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

如果以上两种方法均无效,则需要设置一个App Engine Flex微服务,以便您可以将nginx conf编辑为大于32 MB的所有文件

关于python - Google App Engine Flask 413请求实体太大错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55215725/

10-12 20:12