Я хотел бы изменить размер загруженного изображения в различные категории:
- оригинал
- medium (500kb)
- small (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-хранилища и S3Boto3Storage. Мой полный рабочий проект находится в ссылках git.