Функции позволяющие корректно читать и писать текст в BLOB
var Stream = new ActiveXObject("ADODB.Stream");
Stream.Open();
Stream.Type = 2;
Stream.WriteText(Text);
DataField.SetValAsBlob(Stream);
Stream.Close();
}
/*ReadType Принимает следующие значения
-1 Вычитать все символы (по умолчанию)
-2 Прочитать Строку
Любое другое число - прочитать указанное количество символов*/
function ReadTextFromBLOB(DataField, ReadType) {
if (ReadType == undefined) {
ReadType = -1;
}
var Stream = new ActiveXObject("ADODB.Stream");
Stream.Open();
Stream.Type = 2;
DataField.GetValAsBlob(Stream);
Stream.Position = 0;
var Result = Stream.ReadText(ReadType);
Stream.Close();
return Result;
}
Вот такой вопрос:
Есть картинка (jpeg), хранится в БД.
Пытаюсь вашим способом прочитать ее как текст - получаю несколько квадратиков и все...
Если же поставить тип потока == 1. То на методе ReadText выдает "Операция не допускается в данном контексте".
А метод Read(-1) возвращает null.
Подскажите как можно получить картинку в виде текста? Аля виндовый "Как текст".
Юрий, добрый день.
Данный блог касается возможности хранения в поле таблицы текста, который не помещается в обычное поле. Сначала текст конвертируется в формат BLOB и записывается в поле таблицы, а при необходимости его можно оттуда получить (в текстовом формате без каких-либо потерь) с помощью другой функции.
Честно говоря, никогда не слышал о возможности конвертировать картинки в текстовый формат. Уточните, пожалуйста, какие картинки имелись в виду. Возможно, Вашу задачу можно решить другим способом?
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.