Django:如何在使用ModelForm时限制上传图像的大小?

时间:2010-07-16 10:44:42

标签: django-forms

我在我的模型中有一个ImageField,我使用forms.ModelForm来编辑表单。 我没有找到一种方法来使ModelForm限制上传的图像文件大小

3 个答案:

答案 0 :(得分:1)

虽然这篇文章是2岁,但我遇到了类似的情况,即使我提出错误,文件仍然上传。 我为解决这个问题所做的是用None替换request.FILES [' file'],如下所示:

#The max size in bytes
MAX_SIZE = 1000
for filename, file in request.FILES.iteritems():
    if request.FILES['file'].size > MAX_SIZE:
        request.FILES.pop(filename, None)
        # return your errors here

这解决了问题,文件将不会上传。希望这有助于遇到类似问题的其他人。

答案 1 :(得分:0)

以下是有关它的一些信息:http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/

这样的事情:

#The max size in bytes
MAX_SIZE = 1000
if request.FILES['file'].size > MAX_SIZE:
    #Lauch error

答案 2 :(得分:0)

现代浏览器支持客户端文件大小检查。最大的好处是你可以在上传之前拒绝文件。

if (typeof FileReader !== "undefined") {
    var size = document.getElementById('myfile').files[0].size;
    // check file size
}