Задать вопрос

Вопрос о экспорте MS Access таблицы в XML?

В таблице хранятся jpg-файлы, при экспорте в XML эти изображения конвертируются в формат base64.



Возьмем к примеру эту картинку

f19b9ec0226a965027e3539d8a2307b5.png



Ее код при экспорте выглядит так:



FRw7AAIAAAAfAAgAFAAzAP/////O4frl6vIg8+/g6u7i+ejq4CDk6/8g7uHu6+73<br>
6ugAUGFja2FnZQABBQAAAgAAAAgAAABQYWNrYWdlAAAAAAAAAAAA9gEAAAIAZmF2<br>
aWNvbi5wbmcAQzpcVXNlcnNcQW5cRGVza3RvcFxmYXZpY29uLnBuZwAAAAMAKwAA<br>
AEM6XFVzZXJzXEFuXEFwcERhdGFcTG9jYWxcVGVtcFxmYXZpY29uLnBuZwDdAAAA<br>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAACXBIWXMAAC4jAAAu<br>
IwF4pT92AAAAj0lEQVR42mOoW7CBpohh1IKRbcF/VECkVDWtLaiav37UAvxSNI/k<br>
QWwBHjBqARx8+/kLSP76/effv39D0Ad0Tabvv3ylrQUfvn6jtQ9wWlBNlbLo+69f<br>
tLbgJ/kWVMxdR1GNRtCCqnlQFQ2LNjUs2dwIQpsaFm+qQVID5AIFgVJABWjay+et<br>
G222jFpAXQQAIPIwWJVw/PIAAAAASUVORK5CYIIqAAAAQwA6AFwAVQBzAGUAcgBz<br>
AFwAQQBuAFwAQQBwAHAARABhAHQAYQBcAEwAbwBjAGEAbABcAFQAZQBtAHAAXABm<br>
AGEAdgBpAGMAbwBuAC4AcABuAGcACwAAAGYAYQB2AGkAYwBvAG4ALgBwAG4AZwAf<br>
AAAAQwA6AFwAVQBzAGUAcgBzAFwAQQBuAFwARABlAHMAawB0AG8AcABcAGYAYQB2<br>
AGkAYwBvAG4ALgBwAG4AZwABBQAAAAAAAMOtBf4=<br>


А если воспользоваться сервисом www.motobit.com/util/base64-decoder-encoder.asp код получается таким:



iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA<br>
j0lEQVR42mOoW7CBpohh1IKRbcF/VECkVDWtLaiav37UAvxSNI/kQWwBHjBqARx8+/kLSP76/eff<br>
v39D0Ad0Tabvv3ylrQUfvn6jtQ9wWlBNlbLo+69ftLbgJ/kWVMxdR1GNRtCCqnlQFQ2LNjUs2dwI<br>
QpsaFm+qQVID5AIFgVJABWjay+etG222jFpAXQQAIPIwWJVw/PIAAAAASUVORK5CYII=<br>




Причем при обратной расшифровке код полученный из Access не превращается в картинку.



Дальше XML-файл будет обрабатываться средствами PHP.



Как это можно исправить? Можно ли заставить Access делать правильный base64, либо есть какой-то способ достать эту картинку из его странного кода?
  • Вопрос задан
  • 3801 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
4dmonster
@4dmonster
Внимательнее посмотрите на то, что вам выдал аксес — первые четыре строки выкиньте и вуаля получите то, что выдаёт сервис.

Дело в том, что ваше оле поле хранит данные об встроенном объекте, а потом сам объект.
ну а сам base64 правильный
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sadgb
Похоже вам понадобится
использовать GDI+ lib from MS (включенный в стандартный Win) для импорта и экспорта картинок в/из Access OLE

Если я правильно понял суть проблемы то первый ответ вот отсюда может подтолкнуть вас в правильном направлении
stackoverflow.com/questions/114326/converting-ms-access-ole-objects-back-to-plain-jpegs-best-way
то это может решить проблему
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы