Преобразование MSSQL varbinary в строку base64 - PullRequest
2 голосов
/ 09 мая 2019

Цель

Взять данные в mssql, изображение, конвертировать в base64 и вставить в электронное письмо.

Deets

У меня есть изображение, сохраненное вvarbinary столбец в базе данных mssql.

0xFFD8FFE00....

С другой стороны, я запрашиваю его в древней среде Jython, потому что это все, к чему у меня есть доступ.

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

>>> array('b', [-1, -40, -1, -32, 0, 16,...

Другой поток предложил сбросить его в кодировщик b64

import base64
encoded = base64.b64encode(queryResult)

Какойдал мне ошибку TypeError: b2a_base64(): 1st arg can't be coerced to String

В потоке также упоминалось преобразование его в json, но, поскольку я нахожусь на земле Python 2.4, у меня нет доступа к import json или import simplejson.Использование интерпретатора json в данном случае кажется мне серьезным препятствием.

Я также пытался преобразовать его на конце SQL с decompress и приведением к xml, но ни одна из них не работает вообще.Изображения работают нормально, когда передаются как вложение электронной почты, поэтому они не повреждены, насколько я могу судить.Чтобы встроить их в HTML-шаблон, мне нужно вывести строку Base64.

Я что-то упустил, я не работаю с этим достаточно часто, чтобы понять это.Я знаю о подписанном / неподписанном порядке байтов на высоком уровне, но я не могу полностью взломать этот орех.

...