防止上传大小超过某个限制的文件

时间:2012-11-10 17:09:26

标签: python file-upload cherrypy

我使用cherrypy设置了一个可以上传文件的服务器。但是,如果文件超过一定大小,我想阻止上传文件。我搜索了一下,但无法找到答案。有没有办法用cherrypy或一般来实现这个目标?

1 个答案:

答案 0 :(得分:3)

cherrypy._cpserver.Server.max_request_body_size可能就是你想要的。

在HTTP客户端上传文件之前,在HTTP标头中,他们必须指定邮件正文的大小。基于此,您可以使用HTTP 413 请求实体太大错误消息立即拒绝上传尝试。

可以通过说一定金额然后上传更多信息来规避这一点 - 但大多数服务器都足够智能,当他们达到他们打算从客户接受的最大值时停止阅读。

不幸的是,情况并非总是如此,因为还有一种称为“Chunked encoding”的HTTP上传方法,其中客户端(或服务器,取决于它的方式)不需要宣传他们的大小上传。您通常在服务器端将此视为将数据流式传输到客户端的方法。