0
メールボックス内の未読メッセージから添付ファイルをダウンロードするスクリプトを作成しました。 'application/pdf'コンテンツタイプ私は何の問題もありません。 base64でエンコードされた 'application/octet-stream'コンテンツタイプが私に時間を与えています。IMAP base64でコード化されたPDFが保存時に破損する
以下のコードは、pdfを要求されたパスに移動しますが、0kbとして破損しています。いかなる援助も感謝します。
try:
if part.get_content_type() == 'application/octet-stream':
payload = part.get_payload(decode=1)
fp = open(os.path.join('C:\\Attachment_Downloader\\',
datetime.datetime.now().strftime("%m%d%y%H%M%S")
+ "_" + str(var_seq) + ".pdf"), 'wb')
fp.write(base64.decodestring(payload))
fp.close()
logging.debug("File Decoded and Moved "+ part.get_filename())
except Exception as e:
logging.debug("File Move Failed : " + part.get_filename())
logging.exception("message")
あなたはpayload' 'に割り当てられている内容を見たことがありますか?それは有効なbase64エンコードされたデータのように見えますか? – martineau
@martineauペイロードを2回デコードしていました。私はその問題を修正し、コードは期待どおりに働いています。ありがとうございました! – AlliDeacon
あなたがあなた自身でそれをすべて理解したことを聞いてうれしいです。 – martineau