AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.03.2006, 19:31   #1  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Axapta и BLOB поля
Вопрос заключается в следующем:
При записи файла (картинки) в поле БД с помощью BinData.Getdata()
похоже в начало файла добавляется какая-то служебная информация.
Если прочитать поле и сохранить в файл, он не читается, пока не удалишь первые шесть байт. Что туда может писаться и может ли меняться длинна этого "довеска"?
Старый 03.03.2006, 21:44   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
При сохранении файлов в поле б/д они сохраняются как контейнер.
Первый байт - 0x07 - идентификатор контейнера
Второй байт - тип данных элемента контейнера ( 0x2B - сохранены BLOB-данные)
Байты с 3-го по 6-й (4 байта) - размер данных в байтах, хранится в перевернутом виде, т.е. младщий байт - первым
Далее идут данные - размер указан в предыдущих байтах
После окончания данных записа один байт - 0xFF - идентификатор конца контейнера

Таким образом сами данные из файла хранятся начиная с 6-го байта и до предпоследнего

PS Прошу прощения, данные начинаются конечно же с 7-го байта
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 04.03.2006 в 19:26.
За это сообщение автора поблагодарили: mazzy (5), Logger (5).
Старый 06.03.2006, 11:39   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Попробуйте воспользоваться классом
Image
а не BinData

Примеры использования, например:
\Forms\CompanyImage\
\Forms\CompanyLogo\

и др.
Старый 06.03.2006, 12:53   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
2 Logger
Image является наследником BinData и сохраняет в б/д точно также
__________________
Axapta v.3.0 sp5 kr2
Старый 06.03.2006, 14:10   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Я имел в виду не сохранение в БД, а сохранение данных полученных из БД - в файле.
Если я правильно понял именно в в этом была проблема - файл некорректно записывался - лишние байты добавлялись.
Старый 10.03.2006, 12:37   #6  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Всем спасибо за ответы. Проблема была в том чтобы быть уверенным однозначно, что данные начинаются с 7-го байта, данные из BLOB'а читаются внешней системой.
Старый 05.01.2011, 16:16   #7  
timaluhs is offline
timaluhs
newborn in DAX
Аватар для timaluhs
 
102 / 10 (1) +
Регистрация: 16.12.2010
Адрес: Израиль
А как удалить первые 6 байтов и последний в АХ?
Мне нужно получить картинку в виде файла чтобы сделать attachment к письму.
Хотя бы какие-то наводки .
Спасибо.
Теги
blob, container, image, контейнер, полезное, crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Заполнение поля TaxAmount в таблице MarkupTrans (Axapta 2.5 SP4) rumpleteazer DAX: Программирование 0 02.12.2003 18:17
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Загрузить в ActiveX содержание поля BLOB listener DAX: Программирование 0 04.08.2003 16:32
Новые поля в InventTrans, Axapta v. 2.5 skof DAX: Программирование 2 02.06.2003 12:42
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:43.