如何在Django完成之前拒绝上传?

时间:2010-01-17 18:19:27

标签: django django-uploads

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

Django middleware看起来很有希望,但仔细检查后,看来当请求到达中间件时已经太晚了,整个上传已经缓存到某个地方(通常是RAM或磁盘)。

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

1 个答案:

答案 0 :(得分:1)

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

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

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