2017-02-23 104 views
0

Я работаю над проектом Backbone вместе с бэкэдом koa/node, который читает в базе данных psql. Я установил маршрут получения, который должен указывать на файлы PDF, и я ожидал получить зашифрованные строки base64 для каждого из них. Вместо этого я получил этот объект:Чтение PDF-файла из базы данных psql

{"0":37,"1":80,"2":68,"3":70,"4":45,"5":49,"6":46,"7":51,"8":10,"9":37,"10":196,"11":229,"12":242,"13":229,"14":235,"15":167,"16":243,"17":160,"18":208,"19":196,"20":198,"21":10,"22":52,"23":32,"24":48,"25":32,"26":111,"27":98,"28":106,"29":10,"30":60,"31":60,"32":32,"33":47,"34":76,"35":101,"36":110,"37":103,"38":116,"39":104,"40":32,"41":53,"42":32,"43":48,"44":32,"45":82,"46":32,"47":47,"48":70,"49":105,"50":108,"51":116,"52":101,"53":114,"54":32,"55":47,"56":70,"57":108,"58":97,"59":116,"60":101,"61":68,"62":101,"63":99,"64":111,"65":100,"66":101,"67":32,"68":62,"69":62,"70":10,"71":115,"72":116,"73":114,"74":101,"75":97,"76":109,"77":10,"78":120,"79":1,"80":149,"81":86,"82":203,"83":114,"84":26,"85":89,"86":12,"87":221,"88":247,"89":87,"90":104,"91":118,"92":120,"93":145,"94":235... } 

Кто-нибудь когда-либо видел такое представление для файла PDF? Как я могу вернуть эти данные в виде обычного PDF-файла?

Спасибо за помощь!

+0

Пожалуйста, укажите [mcve]. –

ответ

1

Это похоже на довольно сломанный способ получить информацию из базы данных. Ваш объект является пара {позиции: байт}, так как Python намеков первые элементы являются частью заголовка PDF:

>>> [chr(i) for i in [37, 80, 68, 70, 45, 49, 46, 51]] 
['%', 'P', 'D', 'F', '-', '1', '.', '3'] 

Поскольку вы не указали какой-либо библиотеки/код, я не могу предоставить какие-либо прямые советы , но вы должны проверить, что ваша база данных действительно содержит (это должен быть BLOB двоичных данных, а не base64 или сумасшедший JSON) и как получить исходные двоичные данные из вашей базы данных, используя библиотеки по вашему выбору.

+0

Это то, что должна содержать база данных (это тот же самый файл в свойстве данных): {"id": 0, "result": [{"data": {"base64": "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmo. ..3RhcnR4cmVmCjE2MD gwNQolJUVPRgo = \ n "," class ":" bytes "}," id ": 27}]} Я использую библиотеку tryton-model, которая обрабатывает чтение базы данных. – Alex