将文件从POST请求保存到磁盘,而无需使用Python的BaseHTTPServer存储在内存中



我正在使用BaseHTTPServer在Python 2中编写HTTP服务器,假设它同时接受多个连接,在每个连接上,用户可以通过POST请求发送一个大文件。但是我的理解是,整个请求在处理之前会存储在服务器的内存中,并且同时上传多个文件可能会超过服务器上的内存量。有没有办法,而不是将文件/请求存储在内存中,而是直接将其流式传输到磁盘上的文件?

BaseHTTPServer没有开箱即用的POST处理程序,所以你必须自己实现它或找到一个适合你的实现。(这些很容易搜索;这是我发现的一个看起来很简单。

您的问题类似于有关限制 POST 最大大小的问题;答案指出您需要通读所有这些数据以确保正确的浏览器功能。对该答案的评论似乎表明使用了其他技术("例如AJAX和通过WebSocket的实时通知@dmitry。

最新更新