PHPMailer、AddStringAttachment、およびデータURIスキーム
質問
toDataURL()
( $ contact_image_data
)を使用して canvas
要素の内容をデータ(URIスキーム)に変換しました。これをメールで添付ファイルとして送信します。現在、これはPHPMailerのセットアップ方法です:
$contact_image_data="data:image/png;base64,iVBORw0KGgo[...]";
$filename="test.png";
$encoding = "base64";
$type = "image/png";
$mail->AddStringAttachment($contact_image_data, $filename, $encoding, $type);
これが実際に可能かどうか、もし可能なら、どのステップが足りないのか疑問に思う。
メールを送信し、“ test.png”という名前のファイルを添付できます。 $ contact_image_data
の内容が含まれていますが、実際には画像を作成しません。
どのような助けでも大いにいただければ幸いです。
サミュエル。
解決
はい、可能です。 'image / png' MIMEタイプでtoDataURL()を呼び出して、出力方法を認識していますか?
スクリプトを2つのコンポーネントに分けてみてください。PNGが本当にあることを確認してくださいそれから郵送してください。
たとえば、書かれるとtest.pngがコンピューターで開きますか?..
<?php
$contact_image_data="data:image/png;base64,iVBORw0KGgo[...]";
$fp = fopen('test.png', 'w');
fwrite($fp, $contact_image_data);
fclose($fp);
?>
少し助けてください!
他のヒント
data:image / png; base64、
セクションと base64_decode()
を削除する必要があることがわかりました:
$contact_image_data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA";
$data = substr($contact_image_data, strpos($contact_image_data, ","));
$filename="test.png";
$encoding = "base64";
$type = "image/png";
$mail->AddStringAttachment(base64_decode($data), $filename, $encoding, $type);
所属していません StackOverflow