@Keramxx

Как можно хранить фотографии в виде байтов?

У меня есть переменная, в которой хранится байтовый код фотографии(a.k.a. "b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF..."), в случае чего, эти байты можно собрать обратно в фотографию.
Но появилась проблема в том, что эти байты негде хранить, просто если превращать их допустим в строку, их невозможно превратить обратно.
Можно ли в какой-то бд или т.п. хранить байты?
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
@WaterSmith
Android-разработчик. Java, Kotlin
Если вы хотите хранить или передавать двоичные данные в виде строки, то для этого придумали Base64.
Для хранения в бд SQL есть тип varbinary, в других БД может быть тип BLOB.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Почему бы просто не сохранить как файл?

Если хочется полноценное распределённое хранилище, то можно посмотреть на mongodb gridfs или на что-то S3 совместимое - они специально для этого предназначены. (S3 в долгосроке даже круче, тк там сразу и CDN будет)

Закидывать в BLOB-ы крайне не советую - об это уже много лет новички спотыкаются.
Запихивать в base64 и получившуюся строку сохранять в базу - тем более.
Реляционные бд не предназначены для хранения файлов
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Это задача выходит за рамки баз данных. Здесь идет речь уже о языке программирования и БД.

Вот у меня где-то есть код, который загружает BLOBS в таблицу используя Java JDBC.
И есть код, который выгружает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы