2010-01-17 42 views
2

我希望我的Django应用程序根据请求标头和/或会话数据决定是否接受或拒绝上载。如果上传被拒绝,我希望应用程序重置连接,而不是浪费时间接收和存储可能会被拒绝的大文件。如何在Django完成之前拒绝上传?

Django middleware看起来很有希望,但经过仔细检查,看起来当请求触及中间件时已经太晚了,整个上传都被缓冲到某处(通常是RAM或磁盘)。

有没有其他的钩子或设置我可以用来实现这一目标?

回答

1

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

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

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

+0

不错!从META获取cookies和会话不应该太难。 – 2010-01-18 00:41:27

相关问题