【发布时间】:2018-05-03 05:06:51
【问题描述】:
我希望能够将我上传的图片调整为各种尺寸类别:
- 原创
- 中等 (500kb)
- 小 (200kb)
并将其保存到 AWS S3。以后可以访问它。 一种策略是将其保存在 filename_small.jpg、filename_medium.jpg 中,并具有一个辅助函数,以便能够附加 _small、_medium 以访问这些文件。我不确定如何保存所有不同的文件(调整大小),然后使用帮助程序访问它。
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/storage_backends.py
class MediaStorage(S3Boto3Storage):
location = 'media'
file_overwrite = False
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/models.py
class Employee(models.Model):
...
face_image = models.FileField(upload_to=upload_to('employee/face_image/'), blank=True, storage=MediaStorage())
https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/api.py
@api_view(['POST'])
def update_employee_image(request):
...
employee = Employee.objects.get(id = employee_id)
employee.face_image = face_image_obj
employee.save()
我正在使用 django-storages 和 S3Boto3Storage。我的完整工作项目在 git 链接中。
【问题讨论】:
-
我不确定是否将整个东西与 django-storage/Amazon 集成,但请查看 VersatileImageField 以获得多种尺寸的图像和大量图像管理功能。
标签: python django file-upload resize django-storage