【问题标题】:PDF Attachment Downloader not working with base64 EncodingPDF 附件下载器不适用于 base64 编码
【发布时间】:2017-06-11 00:06:56
【问题描述】:

我有一个程序可以将文件附件拉入网络共享。我在单部分和多部分电子邮件中都有这个工作。

我最近收到一个显示为:

Content-Type: application/pdf Content-Disposition: attachment; filename="=?utf-8?B?SW52b2ljZShzKS5wZGY=?=" Content-Transfer-Encoding: base64

由于文件名,文件写入失败。

这是我编写 PDF 的代码:

fp = open(os.path.join(path, filename), 'wb') fp.write(part.get_payload(decode=True)) fp.close()

但是我认为该部分工作正常并且文件写入失败...我不确定如何将该文件名转换为可读文本。这是我用来确定文件名的代码:

filename = part.get_filename() filename_zero, fileext =os.path.splitext(filename)
filename = str(var_seq) + "_" + filename_zero + fileext

非常感谢您对我所缺少的任何见解。

【问题讨论】:

标签: python python-2.7 pdf base64 imaplib


【解决方案1】:

email.header.decode_header() 正是我所需要的。非常感谢!

添加了以下几行:

filename = part.get_filename() if decode_header(filename)[0][1] is not None: filename = str(decode_header(filename)[0][0]).decode(decode_header(filename)[0][1]) filename_zero, fileext = os.path.splitext(filename) filename = str(var_seq) + "_" + filename_zero + fileext

【讨论】:

    猜你喜欢
    • 2018-01-16
    • 2016-09-14
    • 2021-04-24
    • 2017-10-13
    • 1970-01-01
    • 2012-12-25
    • 2020-03-25
    • 2018-04-19
    • 1970-01-01
    相关资源
    最近更新 更多