Михаиллл
04 січня 2019 р. 21:49

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

PSQL

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

3

Вам це подобається? Поділіться в соціальних мережах!

9
Evgenii Legotckoi
  • 05 січня 2019 р. 19:07

Добрый день!

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

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

    Михаиллл
    • 06 січня 2019 р. 18:09

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

      Evgenii Legotckoi
      • 06 січня 2019 р. 18:11
      • Відповідь була позначена як рішення.

      Это он и есть

        Ruslan Polupan
        • 06 січня 2019 р. 23:19

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

          Михаиллл
          • 07 січня 2019 р. 17:23

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

            Evgenii Legotckoi
            • 07 січня 2019 р. 19:50

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

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

              Михаиллл
              • 08 січня 2019 р. 13:46

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

                Evgenii Legotckoi
                • 08 січня 2019 р. 14:14

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

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

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

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

                  Михаиллл
                  • 08 січня 2019 р. 14:50

                  Спасибо

                    Коментарі

                    Only authorized users can post comments.
                    Please, Log in or Sign up