3

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

4

1 回答 1

3

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

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

可以通过说一定数量然后上传更多来规避这一点 - 但大多数服务器足够聪明,可以在达到他们打算从客户端接受的最大值时停止读取。

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

于 2012-11-12T19:18:59.707 回答