【问题标题】:Uploading files of 1GB or more上传 1GB 或更大的文件
【发布时间】:2013-12-11 16:26:17
【问题描述】:

上传大于 1 GB 的文件的最佳方式是什么?

当前情况 :: 我们正在使用烧瓶来部署网络服务器。我们必须上传大于 1 GB 的文件。以前我们只上传了几 mbs 的文件。所以,这不是问题,但现在对于大于 1 GB 的文件,旧的上传方法是不可能的。服务器只是超时。

那么有没有上传文件的好方法呢?

【问题讨论】:

标签: python python-2.7 flask


【解决方案1】:

您需要将 MAX_CONTENT_LENGTH 配置为至少 1 GB(可能会添加更多用于填充)。

from flask import Flask, Request

app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 1024 * 1024 * 1024

【讨论】:

  • 那只能解决文件大小问题,有没有更好的方法来上传这种大小的文件?
  • 我不确定我是否理解,网络是通过 HTTP 协议的,所以你使用的任何方法都是通过 HTTP。 WebDAV 允许双向文件访问,这在 IMO 中是多余的,因为您说您只希望用户上传文件,而不是读取或编辑它们,这与执行常规 PUT 或 POST 请求没有什么不同(速度/可靠性方面)。您可以查看 FTP,但对此的共识不是隐含的访问控制,HTTP 与 FTP 上传是相同的。
【解决方案2】:

使用 Python DAV 库之一通过 HTTP 使用 WebDAV (PUT)。我个人使用 TinyDAV 库来做到这一点。不确定最大文件大小,但我使用它上传 > 1GB 的文件。它可能可以在 DAV 服务器端进行配置(使用 Apache 的 mod_dav)。

http://code.google.com/p/tinydav/

http://httpd.apache.org/docs/current/mod/mod_dav.html

http://en.wikipedia.org/wiki/WebDAV

【讨论】:

  • 谢谢这似乎是我们正在寻找的东西,我们会试一试
猜你喜欢
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多