Python:将PDF转换为blob并返回pdf会导致损坏

时间:2018-01-16 18:25:53

标签: python base64 blob

我正在测试我的nosql-database设置的一个场景,其中我存储了PDF数据的blob。以后,想要使用它是否可以检索原始的pdf文档。为了测试它,我用Python编写了一个小测试代码。

import base64
with open('test.pdf', 'rb') as f:
 blob = base64.b64encode(f.read())

text_file = open('test_blob.txt', "w")
text_file.write(blob)
text_file.close()   

with open('test_blob.txt', 'r') as f:
  blob=f.read().decode('base64')
text_file = open('result.pdf', "w")
text_file.write(blob)
text_file.close()

当我查看结果.pdf时,它已损坏。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

我尝试了您提供的相同代码,但不幸的是我在解码部分遇到错误。我已经修改了一下代码。请尝试这个,让我知道它是否有效。

import base64
with open('path/sample.pdf', 'rb') as f:
    blob = base64.b64encode(f.read())
text_file = open('test_blob.txt', "wb")
text_file.write(blob)
text_file.close()
with open('test_blob.txt', 'r') as f:
    blob=f.read()
blob = base64.b64decode(blob)
text_file = open('result.pdf','wb')
text_file.write(blob)
text_file.close()