2

我希望我的 Django 应用程序根据请求标头和/或会话数据来决定是接受还是拒绝上传。如果要拒绝上传,我希望应用程序重置连接,而不是浪费时间接收和存储无论如何都会被拒绝的潜在大文件。

Django 中间件看起来很有希望,但仔细检查后发现,当请求到达中间件时已经为时已晚,并且整个上传都被缓冲在某个地方(通常是 RAM 或磁盘)。

我可以使用其他任何钩子或设置来实现这一点吗?

4

1 回答 1

1

文件上传处理程序是您正在寻找的东西:http: //docs.djangoproject.com/en/dev/topics/http/file-uploads/#modifying-upload-handlers-on-the-fly

编辑:查看文件上传处理程序代码后,它似乎只传递了 request.META,而不是整个请求对象——这可能包含也可能不包含您需要的信息。

另一方面,理论上您可以从存储在 cookie 中的会话 id 重建会话数据。

于 2010-01-17T23:28:54.270 回答