Генерация файла из Base64 закодированного файла django read

Во время загрузки файла я решил прочитать файл и сохранить его в формате base64, пока s3 не станет доступным для нашей команды. Я использую приведенный ниже код для преобразования файла в bs64.

def upload_file_handler(file):
    """file -> uploaded bytestream from django"""
    bs4 = base64.b64encode(file.read())
    return {'binary': bs4, 'name': file.name}

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

Я попытался запустить bs64.decode на строке файла из базы данных и записать в файл. Но когда я открываю файл, он кажется сломанным, я пробовал с прорывом.

    q = Report.objects.first()
    data = q.report_binary
    f = base64.b64decode(data)
    content_file = ContentFile(f, name="hello.docx")
    instance = TemporaryFile(image=content_file)
    instance.save()

Вот один из файлов, который я пытаюсь воссоздать из бинарного файла.

https://gist.github.com/saviour123/38300b3ff2c7a0d1a01c15332c583e20

Как сгенерировать файл из двоичного файла base64?

Вернуться на верх