Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:33

Как записать в базу mysql в поле с типом blob картинку?

Автор baksan, 02 ноя 2015, 22:31

0 Пользователей и 1 гость просматривают эту тему.

baksan

Попробовал два варианта:
1) Привести фото к типу comsafearray, а дальше, что с ним делать непонятно, просто через запрос не запишешь в базу.

2)через Base64 тоже ни але.

Вообще реально средствами 1с обойтись или нужно вк или скрипты юзать?

baksan

Данные записываются, но если смотреть SQL менеджером, то фото отображаются в виде html корректно, а в виде изображения совсем не отображаются, не определен тип и размер.
Пишу в базу вот так:
НаборЗаписей = Новый COMОбъект("ADODB.Recordset");
КомандаSQL = Новый COMОбъект("ADODB.Command");
КомандаSQL.ActiveConnection = Соединение;
КомандаSQL.CommandText= "INS ERT INTO Photo(id, PREVIEW_RASTER) VALUES(?, ?)";
КомандаSQL.CommandType=1//adCmdText

ПараметрSQLFileID = КомандаSQL.CreateParameter("id", 200, 1, 36)//adVarChar, adParamInput

ПараметрSQLFileID.Val ue = Число(данныеФайла.Id);
КомандаSQL.Parameters.Append(ПараметрSQLFileID);

//создаем АДО поток для чтения файла

Поток = Новый COMОбъект("ADODB.Stream");
Поток.Type = 1;
Поток.Open();
Поток.LoadFromFile(ДанныеФайла.ПолноеИмяФайла);
ПараметрSQLObject = КомандаSQL.CreateParameter("PREVIEW_RASTER", 128, 1, Поток.Size)//adLongVarBinary, adParamInput

Пока НЕ Поток.EOS Цикл
ПараметрSQLObject.AppendChunk(Поток.Read(10240));
КонецЦикла;
КомандаSQL.Parameters.Append(ПараметрSQLObject);
НаборЗаписей=КомандаSQL.Execute();

Никто не сталкивался с подобным?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск