有没有办法使用easy-thumbnails应用设置为我的django应用上传的图片设置最大尺寸?
在设置列表中,我没有看到任何相关内容。
答案 0 :(得分:-2)
要限制文件大小,您可能希望在Web服务器中执行此操作,而不是在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'),
)