是否有一种方法可以设置在我的django应用程序中使用easy-thumbnails app上传的图像的最大大小?
为了限制文件大小,你可能想在web服务器中这样做,而不是在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'),
)