1

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

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

4

1 回答 1

-2

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

或者,您可以指定一个自定义文件处理程序,如果文件太大,您可以使用它引发错误:

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'),
    )
于 2011-07-20T16:15:11.167 回答