Frage

Ich habe den Inhalt eines canvas Element-Daten (URI-Schema) mit toDataURL() ($contact_image_data) umgewandelt und ich möchte dies als Anhang per E-Mail senden. Dies ist zur Zeit, wie ich PHPMailer ein:

$contact_image_data="data:image/png;base64,iVBORw0KGgo[...]";
$filename="test.png"; 
$encoding = "base64"; 
$type = "image/png";
$mail->AddStringAttachment($contact_image_data, $filename, $encoding, $type);   

Ich frage mich, ob dies tatsächlich möglich ist, und wenn ja, welche Schritte ich fehle.

Ich kann eine E-Mail senden, eine Datei anhängen „test.png“ genannt, die den Inhalt von $contact_image_data enthält, aber es nicht wirklich ein Bild erstellen.

Jede Hilfe wäre viel geschätzt.

Samuel.

War es hilfreich?

Lösung

Ja sollte es möglich sein. Rufen Sie toDataURL () mit dem 'image / png' MIME-Typ, so weiß er, wie es ausgegeben?

Versuchen Sie Ihr Skript in zwei Komponenten zu brechen -. Sicherstellen, dass Sie wirklich eine PNG haben und versuchen Mailing es

Zum Beispiel wird auf Ihrem Computer test.png geöffnet, wenn geschrieben? ..

<?php
$contact_image_data="data:image/png;base64,iVBORw0KGgo[...]";
$fp = fopen('test.png', 'w');
fwrite($fp, $contact_image_data);
fclose($fp);
?>

Ich hoffe, das hilft ein wenig!

Andere Tipps

Es stellt sich heraus, ich brauchte die data:image/png;base64, Abschnitt abzustreifen und base64_decode() die Daten:

$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);          
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top