Преобразование содержимого файла в строку BLOB-объекта - PullRequest
0 голосов
/ 21 мая 2019

Мне нужно создать проблему с вложением в MantisBT через REST API, как это написано здесь: https://documenter.getpostman.com/view/29959/mantis-bug-tracker-rest-api/7Lt6zkP?version=latest#2d3878c7-4195-42f7-53b7-9cc11f7501f4

Как я могу преобразовать содержимое локального текстового файла в строку BLOB-объекта?

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

Я сделал небольшой скрипт на Python, который хранит содержимое файла в атрибуте json, но мне нужночтобы иметь BLOB-представление этого контента.

import json 

reportpath = '/var/lib/jenkins/jobs/SimplePipeline/workspace/reports/CompilationReport.txt'

compilReportFile = open(reportpath, 'r')
compilContent = compilReportFile.read()
compilReportFile.close()

with open('/home/Jenkins/PFE/Static/newMantisRequestBody.json', 'r') as file:
     json_data = json.load(file)
     json_data["description"] = compilContent
with open('/home/Jenkins/PFE/Static/newMantisRequestBody.json', 'w') as file:
    json.dump(json_data, file, indent=2)

Я ожидаю закончить чем-то вроде этого:

"files": [
        {
            "name": "test.txt",
            "content": "VGhpcyBpcyBhIFRFU1QuDQpUaGlzIGlzIGEgVEVTVC4NClRoaXMgaXMgYSBURVNULg0KVGhpcyBpcyBhIFRFU1QuDQpUaGlzIGlzIGEgVEVTVC4="
        }
    ]

Или, теперь я могу сделать только это:

  "description": "MY FILE CONTENT STRING HERE"

Ребята, у вас есть идея?

Спасибо!

1 Ответ

0 голосов
/ 23 мая 2019

На самом деле мне нужно было преобразовать содержимое моего файла в Base64 строку, прежде чем вставить его в мой Json.

См. Комментарий TMS выше, если вы хотите больше точности.

Еще раз спасибо!

...