Question

J'ai converti le contenu d'un élément canvas en données (schéma URI) à l'aide de toDataURL () ( $ contact_image_data ) et je souhaite envoyer ceci par email en pièce jointe. Voici comment j'ai configuré 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);   

Je me demande si cela est réellement possible et, dans l'affirmative, quelles sont les étapes qui me manquent.

Je peux envoyer un courrier électronique en joignant un fichier nommé "# 8220; test.png & # 8221; qui contient le contenu de $ contact_image_data , mais il ne crée pas réellement une image.

Toute aide serait beaucoup appréciée.

Samuel.

Était-ce utile?

La solution

Oui, cela devrait être possible. Appelez-vous toDataURL () avec le type MIME 'image / png' pour qu'il sache le sortir?

Essayez de diviser votre script en deux composants. Assurez-vous que vous avez bien un PNG , puis essayez de l'envoyer par courrier.

Par exemple, test.png s'ouvrira-t-il sur votre ordinateur une fois écrit?

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

J'espère que ça aide un peu!

Autres conseils

Il s'avère que j'avais besoin de supprimer les données : image / png; base64, section et base64_decode () les données:

$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);          
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top