Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
4 января 2019 г. 15:49

Как в PSQL сохранить изображение

PSQL

Здравствуйте, как в Здравствуйте, как в можно сохранить изображение? В документации не нашел подходящего типа данных.

Возврат 10% от суммы заказа отеля на Booking
Возврат 10% от суммы заказа отеля на Booking
Предлагаем ссылку с 10% возвратом от суммы заказа при бронировании отеля через Booking
9

Добрый день!

Тип данных BLOB нужно использовать для хранения изображения в базе данных, но если честно, то это излишняя нагрузка на базу. Лучше складывать изобажения в определённый каталог, а в базе данных хранить только информацию о путях к файлам.

Вот эта статья должна вам помочь разобраться с добавлением изображения в базу данных, если ваш вопрос также косвенно касался Qt. Не смотрите, что там SQLite, уверен, что с PostgreSQL должно работать аналогично.

1

Но в PSQL нет типа BLOB. Как думаете, подойдет ли bytea (двоичные данные («массив байт»))?

0

Это он и есть

0

Если изображений не много то проще хранить в БД. если больше 1000 то лучще хранить ссылки на изображния. Основной критерий бэкап базы данных.

0

А если их много, но они не очень большие? На какой объем памяти лучше ориентироваться?

0

Да это всё равно лишняя нагрузка на приложение, создавать изображение из QByteArray, который был в базе данных, довольно накладная операция, чем просто открыть изображение, по моему мнению.

Чем вызвано ваше желание именно в базу данных поместить изображения?

0

думал что так будет удобней хранить инфорацию. также прикинул что объем памяти будет занят тот же, но просто в другом месте. и подумал что перевод изибражения в QByteArray и обратно займет только несколько милисекунд, что не принципиально.

0

Ну, теоретически, наверное да, практически, вы можете утратить некоторую информацию. В статье, которую я вам показывал, вы забираете QByteArray из QPixmap, а значит не имеете служеюной информации, там наверняка не вся информация будет содержаться, которая по факту добавляется в изображение. (Я имею ввиду поворот изображения или ещё что-нибудь в этом роде).

Как бы да, хранилище получается другое. Но тем не менее, по-моему, лишняя нагрузка будет. Я смотрю на это с точки зрения создания сайта, вы видимо с точки зрения другого приложения.

Не знаю, попробуйте реализовать с базой данных, а когда будет много изображений, то проверьте на лишь с хранением путей.

Но я в той статье всё равно хранил название файла, то есть поле под имя/путь файла всё равно было, а хранение изображения было дополнительным полем.

0

Спасибо

1

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
N
23 марта 2019 г. 7:52
Nico03

C++ - Тест 001. Первая программа и типы данных

  • Результат:80баллов,
  • Очки рейтинга4
Y
22 марта 2019 г. 9:39
Yavlados

Qt - Тест 001. Сигналы и слоты

  • Результат:21баллов,
  • Очки рейтинга-10
ЭА
22 марта 2019 г. 5:02
Эвелина Алексеева

C++ - Тест 001. Первая программа и типы данных

  • Результат:53баллов,
  • Очки рейтинга-4
Последние комментарии
22 марта 2019 г. 12:32
Евгений Легоцкой

Ну может бибилотеки не те положили? У вас сборка для MinGW, а либы для MSVC.
ВН
22 марта 2019 г. 11:08
Волчонок Над-Пропастью

Из кьюта приложение не хочет запускаться, аварийно завершается, но каких-либо ошибок не выдаёт. Оно открывается, после нажатия "старт" зависает и завершается. Если не из кьюта запускать дебаг ...
21 марта 2019 г. 15:49
Евгений Легоцкой

серьезно? Эта ошибка 404 уже даже не относится к данному вопросу. В каких-то urls в вашем проекте. Вопросы, которые не относятся непосредственно к статье, задавайте, пожалуйста на...
АБ
21 марта 2019 г. 15:00
Артем Бел

а это где? сейчас ошибка в debag такая: Page not found (404)Request Method: GETRequest URL: http://amadowshop.site/accounts/profile/
21 марта 2019 г. 12:47
Евгений Легоцкой

не вижу здесь проблемы, поменяйте url для callback в приложения oauth в социальных сетях https://amadowshop.site/auth/verify/complete/facebook/
Сейчас обсуждают на форуме
m
22 марта 2019 г. 19:40
monevich

int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; w.show(); if (argc==2) { w.openFile(argv[1]); } return a.exec();} Допустим...
22 марта 2019 г. 12:29
Дмитрий

Да, мьютекс добавил, но в том потоке, где сигнал вызывается.
ВН
22 марта 2019 г. 9:04
Волчонок Над-Пропастью

Да, на эту проблему! Зато у меня теперь новая, ругается на подключение QMediaPlayer, пишет, что не находит подобного файла или библиотеки. Пока не нашла как исправить, только вариант с переуст...
22 марта 2019 г. 8:58
Михаиллл

4) это , похоже, для создания видоизмененных страниц, для анимации. 3,5) добавить фвйл/qt/ui.qml
22 марта 2019 г. 8:04
Евгений Легоцкой

Привет. Если там std::vector , то наверное можно заранее подготовить вектор с необходимым количеством элементов и просто устанавливать значение по индексу элемента. Но в данном слу...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы