Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Опять картинки в базе)  [new]
GisMan
Member

Откуда:
Сообщений: 1
Добрый день. Как импортировать в БД Postgresql более 100 картинок?!
И вопрос 2,если картинки не импортировать, то как реализуется ссылочная система на саму картинку? В обоих случаях (картинки) необходимы для попадания в отчет и последующего экспорта в офисные форматы (docx, pdf)
29 июл 20, 17:19    [22175307]     Ответить | Цитировать Сообщить модератору
 Re: Опять картинки в базе)  [new]
Shweik
Member

Откуда:
Сообщений: 1636
GisMan
Добрый день. Как импортировать в БД Postgresql более 100 картинок?!
И вопрос 2,если картинки не импортировать, то как реализуется ссылочная система на саму картинку? В обоих случаях (картинки) необходимы для попадания в отчет и последующего экспорта в офисные форматы (docx, pdf)


Вот пример из Вики.
PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvc
NAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11b
mljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...remainder of "B" encoded binary data...>

Именно так хранит Roundcube карточки контактов в таблице в поле vcard :
CREATE TABLE public.contacts (
	contact_id serial NOT NULL,
	user_id int4 NOT NULL,
	changed timestamptz NOT NULL DEFAULT now(),
	del int2 NOT NULL DEFAULT 0,
	name varchar(128) NOT NULL DEFAULT ''::character varying,
	email text NOT NULL DEFAULT ''::text,
	firstname varchar(128) NOT NULL DEFAULT ''::character varying,
	surname varchar(128) NOT NULL DEFAULT ''::character varying,
	vcard text NULL,
	words text NULL,
	CONSTRAINT contacts_pkey PRIMARY KEY (contact_id),
	CONSTRAINT contacts_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(user_id) ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE INDEX contacts_user_id_idx ON public.contacts USING btree (user_id, del);

Двадцать лет назад я бы только посмеялся над подобным "лобовым подходом".
Тогда оптимальнее было написание например XП на plperlu, поддерживающих ссылочную целостность.
Почему? Да просто потому что "железо"не позволяло и сотой доли того, что доступно сегодня!
Так что посмотрите исходники roundcube на github, и реализуйте свой импорт/экспорт картинок.

И пожалуйста, обязательно расскажите здесь что и как у вас получилось, потому что тема всплывает здесь крайне регуляно.

Сообщение было отредактировано: 29 июл 20, 22:42
29 июл 20, 22:43    [22175457]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить