Jan. 4, 2019, 3:49 p.m.

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

PSQL

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

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
9

Добрый день!

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

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

1

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

0

Это он и есть

0

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

0

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

0

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

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

0

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

0

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

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

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

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

0

Спасибо

1

Comments

Only authorized users can post comments.
Please, Log in or Sign up
TT
June 13, 2019, 7:01 p.m.
Taimoor Tanweer

C++ - Test 001. The first program and data types

  • Result:66points,
  • Rating points-1
TT
June 13, 2019, 6:51 p.m.
Taimoor Tanweer

C++ - Test 002. Constants

  • Result:75points,
  • Rating points2
ВМ
June 13, 2019, 12:30 p.m.
Ваня Мороз

C++ - Test 001. The first program and data types

  • Result:100points,
  • Rating points10
Last comments
МБ
June 20, 2019, 6:23 p.m.
Михаил Булатов

А если мне нужно сделать конект из дочернего qml?Сигнал работает только из main.qml
i
June 17, 2019, 6:10 a.m.
ingenfly

Только по осям xAxis2, уAxis2 значения начинаются с 0. Почему-то xAxis2 и xAxis не синхронизированы по данным. Ну и QCustomPlot последний.
June 16, 2019, 8:21 p.m.
Евгений Легоцкой

Добрый день. Ну точно также добавляете ту же самую информацию на ось xAxis2, только добавляете другое форматирование customPlot->xAxis2->setDateTimeFormat("hh:mm"); если я ...
EF
June 14, 2019, 1:56 p.m.
Egor Fomin

Спасибо за ваш ответ, у меня получилось реализовать это. Тем не менее появилась другая проблема, поэтому опять надеюсь на вашу помощь. Скажем, я уже выставил точки и они соеденены. Когда я нач...
d
June 13, 2019, 2:47 p.m.
damix

Можно классу, который описывает точку, добавить сигнал, который подавать (emit), когда точка перемещается (переопределить mouseMoveEvent или mouseReleaseEvent). Так вот эти сигналы у каждой из...
Now discuss on the forum
June 20, 2019, 9:30 a.m.
IscanderChe

Вернулся к этой задачке только-только, поэтому и не ответил ничего раньше.Как переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, если QTableView задан в ui? Или задавать QTabl...
I
June 19, 2019, 1:41 p.m.
Intruder

Всем добрый день. При разборе XML файла наткнулся на тег вот такого плана: <TagName attribute1="value1" attribute2="value2" /> При попытке проверить на наличие такого элеме...
June 19, 2019, 12:55 p.m.
Михаиллл

Скажите пожалуйста, как его в таком случае перемещать и удалять?
June 18, 2019, 7:50 p.m.
Дмитрий

Большое спасибо! SDK заработал.К сожалению удалось продвинутся только на один шаг. При сборке чистого проекта NDK выдаёт следующие ошибки C:\Android\ndk-bundle/toolchains/arm-linux-andr...
June 18, 2019, 4:59 p.m.
Михаиллл

Добрый день.В этом учебнике представлен код INSTALLED_APPS = ( ... 'rest_framework', 'snippets.apps.SnippetsConfig',) На строчке 'snippets.apps.SnippetsConf...
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB