def _save_thumbnails(image, path, size, suffix):
nm = NamedTemporaryFile(suffix='.%s' % settings.IMG_FILE_TYPE)
default_storage = get_storage_class()()
try:
# Ensure conversion to float in operations
image.thumbnail(
get_dimensions(image.size, float(size)), Image.ANTIALIAS)
except ZeroDivisionError:
pass
try:
image.save(nm.name)
except IOError:
# e.g. `IOError: cannot write mode P as JPEG`, which gets raised when
# someone uploads an image in an indexed-color format like GIF
image.convert('RGB').save(nm.name)
default_storage.save(
get_path(path, suffix), ContentFile(nm.read()))
nm.close()
评论列表
文章目录