Rest Tornado服务器不接收大文件
嗨,我正在尝试实现一个Tornado服务器,目标是将非常大的二进制文件(~1GB)接收到帖子正文中。下面的代码适用于小文件,但如果我尝试发送大文件(~100MB),则不起作用Rest Tornado服务器不接收大文件,rest,python-3.x,tornado,Rest,Python 3.x,Tornado,嗨,我正在尝试实现一个Tornado服务器,目标是将非常大的二进制文件(~1GB)接收到帖子正文中。下面的代码适用于小文件,但如果我尝试发送大文件(~100MB),则不起作用 你知道有什么解决方案吗?我没有一个真正的实现作为答案,但有一两句话希望能指出正确的方向 首先,有一个100MB的上传限制,可以通过设置 self.request.connection.set_max_body_size(size) 在请求处理程序的初始化过程中。() 问题是tornado处理内存中的所有文件上传(HTT
你知道有什么解决方案吗?我没有一个真正的实现作为答案,但有一两句话希望能指出正确的方向 首先,有一个100MB的上传限制,可以通过设置
self.request.connection.set_max_body_size(size)
在请求处理程序的初始化过程中。()
问题是tornado处理内存中的所有文件上传(HTTP不是处理大型文件上传的非常可靠的协议)
这是2014年TornadowWeb团队的一名成员的话()
。。。您可以使用max\u buffer\u size参数调整此限制
HTTPServer构造函数,尽管我认为这不是一个好主意
将其设置为大于100MB
Tornado目前不支持非常大的文件上传。更好
支持即将到来(#1021),nginx上传模块是一个流行的模块
同时,解决办法。但是,我建议不要使用1GB+
在任何情况下,都可以在一个HTTP POST中上载,因为HTTP本身并不支持上载
支持恢复部分完成的上载(在
除了上述错误问题之外)。考虑多步
上传过程,如Dropbox的分块上传和提交分块上传
()
如上所述,我建议执行以下操作之一:
- 如果NGNIX可以处理并将请求路由到tornado=>look 在NGNIX上传模块()上
- 如果必须是普通龙卷风解决方案,请使用 tornado.web.stream\u请求\u tornado 4附带的尸体。这 将上载的文件流式传输到磁盘,而不是尝试首先获取 他们都在记忆里。(及)
- 我没有一个真正的实现作为答案,但有一两句话希望能指出正确的方向
首先,有一个100MB的上传限制,可以通过设置
self.request.connection.set_max_body_size(size)
在请求处理程序的初始化过程中。()
问题是tornado处理内存中的所有文件上传(HTTP不是处理大型文件上传的非常可靠的协议)
这是2014年TornadowWeb团队的一名成员的话()
。。。您可以使用max\u buffer\u size参数调整此限制
HTTPServer构造函数,尽管我认为这不是一个好主意
将其设置为大于100MB
Tornado目前不支持非常大的文件上传。更好
支持即将到来(#1021),nginx上传模块是一个流行的模块
同时,解决办法。但是,我建议不要使用1GB+
在任何情况下,都可以在一个HTTP POST中上载,因为HTTP本身并不支持上载
支持恢复部分完成的上载(在
除了上述错误问题之外)。考虑多步
上传过程,如Dropbox的分块上传和提交分块上传
()
如上所述,我建议执行以下操作之一:
- 如果NGNIX可以处理并将请求路由到tornado=>look 在NGNIX上传模块()上
- 如果必须是普通龙卷风解决方案,请使用 tornado.web.stream\u请求\u tornado 4附带的尸体。这 将上载的文件流式传输到磁盘,而不是尝试首先获取 他们都在记忆里。(及)