PDF 附件下载器不适用于 base64 编码
PDF Attachment Downloader not working with base64 Encoding
我有一个程序可以将文件附件拉入网络共享。我在单部分和多部分电子邮件消息中都有这个工作。
我最近收到了一个显示为:
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()
但是我认为该部分工作正常并且在文件写入时失败...我不确定如何将该文件名转换为可读文本。这是我用来确定文件名的代码:
文件名=part.get_filename()
filename_zero,文件扩展名 =os.path.splitext(文件名)<br>
文件名 = str(var_seq) + "_" + filename_zero + fileext
非常感谢任何对我遗漏的见解。
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
我有一个程序可以将文件附件拉入网络共享。我在单部分和多部分电子邮件消息中都有这个工作。
我最近收到了一个显示为:
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()
但是我认为该部分工作正常并且在文件写入时失败...我不确定如何将该文件名转换为可读文本。这是我用来确定文件名的代码:
文件名=part.get_filename()
filename_zero,文件扩展名 =os.path.splitext(文件名)<br>
文件名 = str(var_seq) + "_" + filename_zero + fileext
非常感谢任何对我遗漏的见解。
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