代码之家  ›  专栏  ›  技术社区  ›  GabiMe

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

  •  0
  • GabiMe  · 技术社区  · 14 年前

    在我的模型中有一个ImageField,我使用窗体.ModelForm编辑窗体。

    3 回复  |  直到 14 年前
        1
  •  2
  •   anzel    11 年前

    虽然这篇文章是2年前,我遇到了一个类似的情况,即使我提出了错误,文件仍然上传。 我所做的就是替换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
    

    这样就解决了这个问题,文件不会被上传。希望这能帮助其他遇到类似问题的人。

        2
  •  0
  •   Tom    14 年前

    以下是一些信息: 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
    
        3
  •  0
  •   sbaechler    12 年前

    现代浏览器支持客户端文件大小检查。最大的优点是可以拒绝文件 之前 已经上传了。

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