【问题标题】:How to upload multipart/form files with Google App Engine?如何使用 Google App Engine 上传 multipart/form 文件?
【发布时间】:2020-07-04 06:20:01
【问题描述】:

在过去的几年里,我一直在 Google App Engine 上托管我的 Django 后端服务,它的自动缩放效果非常好。然而,最近,我遇到了一个有趣的障碍。

用例:移动用户通过多部分/表单数据将视频/图像上传到我的 Django App Engine 后端。从视频中提取缩略图,然后将收到的所有媒体保存到 Google Cloud Storage 中。在我测试上传更长的视频之前,这非常有效。奇怪的是,应用引擎甚至没有注册请求。我尝试了各种时间都超过 30 秒的各种视频,但都遇到了同样的异常。

显然,罪魁祸首是 App Engine 阻止了大于 32MB 的请求。这是视频上传到谷歌云存储的世界末日吗?

有没有办法改变这个 32MB 的限制?还是我坚持强迫用户上传小于 32MB 的媒体?

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-storage


    【解决方案1】:

    如公开文档 (https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled) 中所述,App Engine 中的最大请求大小为 32Mb。

    您实际上可以做的和应该做的就是让用户upload the files 直接进入Google Cloud Storage。这将为您消除这个“障碍”

    【讨论】:

    • 在我看来,直接上传到云存储的问题是我无法直接引用数据库中的文件。我错了吗?
    • 您可以在 Storage 中创建由该 create 事件触发的 Cloud Function,这可以在您的数据库中进行引用。您觉得这种方法好吗?
    • 哦,我明白了。使用 LKasdfJHSLsdSGdddo7t087Dhuijkka.mp4 等独特名称将文件直接保存到 Cloud Storage。然后当上传成功时,我将名称发送到我的后端服务器以存储名称以供检索。
    • 我的移动前端只有iOS,希望有对Swift的支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2014-12-10
    • 1970-01-01
    • 2013-12-16
    相关资源
    最近更新 更多