【问题标题】:Django easy-thumbnails MAX SIZEDjango 简单缩略图 MAX SIZE
【发布时间】:2011-07-20 16:10:33
【问题描述】:

有没有办法使用easy-thumbnails app 为我的 django 应用中上传的图像设置最大尺寸?

在设置列表中我没有看到任何关于它的信息。

【问题讨论】:

    标签: python django django-apps django-models


    【解决方案1】:

    要限制文件大小,您可能希望在网络服务器中进行,而不是在 Django 中。

    或者,您可以specify a custom file handler,如果文件太大,您可以使用它引发错误:

    from django.core.files.uploadhandler import TemporaryFileUploadHandler, StopUpload
    
    class SizeLimitUploadHandler(TemporaryFileUploadHandler):
        def new_file(self, field_name, file_name, content_type, content_length, charset):
            if content_length > MAX_FILE_SIZE:
                raise StopUpload(True)
    

    虽然这会导致连接重置错误以停止处理大文件。

    如果您想限制 图像 的大小,您可以在保存之前调整图像的大小,如自述文件中所述:

    通过将resize_source 参数传递给ThumbnailerImageField,您可以在保存源图像之前调整其大小:

    class Profile(models.Model):
        user = models.ForeignKey('auth.User')
        avatar = ThumbnailerImageField(
            upload_to='avatars',
            resize_source=dict(size=(50, 50), crop='smart'),
        )
    

    【讨论】:

    • 对不起,我指的是文件大小,而不是分辨率大小。例如最大大小 = 2MB。
    • -1 FILE_UPLOAD_MAX_MEMORY_SIZE 控制上传文件在写入磁盘之前的最大大小不是上传文件的最大大小。
    • @hekevintran 谢谢,当我第一次回答这个问题时,我一定是看错了文档。我更新了我的答案以提及/显示停止文件上传的其他方法;厘米?
    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 2016-05-10
    • 2016-06-20
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2020-03-26
    相关资源
    最近更新 更多