Django - сохранение списка изображений базы 64 в базу данных
У меня есть список изображений base64, которые я отправляю из панели react. список изображений выглядит следующим образом:
[
"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkG",
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADkCAY"
]
Примечание: я удалил большинство символов, потому что каждый индекс символов более 2000, и это просто пример того, что у меня есть.
поэтому я хочу сохранить их в модели django. мое поле для сохранения этого списка изображений следующее:
ArrayField(base_field=models.ImageField(upload_to='hotel_images/'))
Итак, как мне преобразовать список изображений base64 в реальные изображения и сохранить их в этом ArrayField? Или у вас есть лучший способ сохранения этого списка изображений base64?
Примечание: я конвертирую изображения в base64 в панели react следующим кодом:
const FR = new FileReader();
FR.addEventListener("load", function () {
// FR.result is image converted to base64
image = FR.result;
})
FR.readAsDataURL(img);
и я делаю это потому, что у меня есть json, который содержит другие поля, такие как имя и описание, и когда я хочу отправить этот json с телом запроса, я должен использовать JSON.stringify() для этого, и когда я использую JSON.stringify(), поле images превращается в пустой массив, и я должен преобразовать изображения в base64. так что если у вас есть решение этой проблемы, это может помочь!
Последнее примечание: моя база данных - postgreSQL.
вы можете использовать ListField и Base64ImageField в качестве дочерних
images = serializers.ListField(
child=Base64ImageField(required=False), required=False
)