我正在使用一个类似于
USER_ID varchar(50), FILE_NAME ntext, FILE_CONTENT ntext
样本数据:
USER_ID: 1
FILE_NAME: (AttachedFiles:1)=file1.pdf
FILE_CONTENT: (AttachedFiles:1)=H4sIAAAAAAAAAOy8VXQcy7Kuâ¦.
是指通过删除“(attachedfiles:1)=”部分成功隔离文件内容字段的“内容”的正则表达式,该部分的字符串类似于:
content_str = "H4sIAAAAAAAAAOy8VXQcy7Ku22JmZmZmspiZGS2WLGa0xcâ¦"
我的计划是用这个字符串重建文件,从数据库下载它。在我的调查过程中,我发现
this post
然后继续复制如下代码:
content_str = 'H4sIAAAAAAAAAO19B0AUR/v33...'
with open(os.path.expanduser('test.pdf'), 'wb') as f:
f.write(base64.decodestring(content_str))
…正在获取类型错误:应为字节,如object,而不是str
进一步调查,我发现
this other post
然后就这样:
content_str = 'H4sIAAAAAAAAAO19B0AUR/v33...'
encoded = content_str.encode('ascii')
with open(os.path.expanduser('test.pdf'), 'wb') as f:
f.write(base64.decodestring(encoded))
…作为成功创建pdf的结果。但是,当尝试打开它时,我得到一个错误,说文件已损坏。
我恳请你就如何进行提出任何建议。如果有必要的话,我甚至愿意重新考虑我提出的程序。多谢提前!