par
LovelyRiver » 22 juin 2015, 23:28
Bonjour,
Nouveau sur le forum

et pas très aguerri au PHP (mon domaine c'est plutôt l'HTML et jQuery), Je rencontre le souci suivant:
En javascript et en local, je génère (via jsPDF) un PDF sous forme de string base 64 (Il est parfaitement correct, j'arrive à l'ouvrir dans un navigateur).
Je l'envoie ensuite sur le serveur comme suit:
Code : Tout sélectionner
var doc=pdf.output('datauristring');
// Send the request
$.post('http://www.mon-site.fr/0.php', {
name: 'Moi',
email: '[email protected]',
pdf: doc
}, function(d) {
console.log(d);
});
Du côté PHP (j'utilise PHP mailer), je récupère le pdf (doc) de la façon suivante pour l'envoyer en PJ à un mail:
Code : Tout sélectionner
[...]
//Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = "Estimation xxxxx";
$mail->Body = "<p>Bonjour<br>Veuillez trouver ci-joint votre <b>estimation</b><br>Cordialement</p>";
$mail->AltBody = "This is the plain text version of the email content";
// Pièce jointe
$mail->AddStringAttachment($_POST['pdf'],"estimation.pdf","base64","application/pdf");
// Envoi de l'email
if(!$mail->send())
{
echo "Echec de l'envoi du mail :" . $mail->ErrorInfo;
}
else
{
echo "Message envoyé !";
}
Je reçois parfaitement le mail et sa PJ mais celle-ci n'est pas exploitable (corrompue) alors que sa taille semble correcte.
J'ai essayé des variantes mais là Je commence à m'arracher les cheveux !
Merci
Bonjour,
Nouveau sur le forum :D et pas très aguerri au PHP (mon domaine c'est plutôt l'HTML et jQuery), Je rencontre le souci suivant:
En javascript et en local, je génère (via jsPDF) un PDF sous forme de string base 64 (Il est parfaitement correct, j'arrive à l'ouvrir dans un navigateur).
Je l'envoie ensuite sur le serveur comme suit:
[code]var doc=pdf.output('datauristring');
// Send the request
$.post('http://www.mon-site.fr/0.php', {
name: 'Moi',
email: '
[email protected]',
pdf: doc
}, function(d) {
console.log(d);
});
[/code]
Du côté PHP (j'utilise PHP mailer), je récupère le pdf (doc) de la façon suivante pour l'envoyer en PJ à un mail:
[code][...]
//Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = "Estimation xxxxx";
$mail->Body = "<p>Bonjour<br>Veuillez trouver ci-joint votre <b>estimation</b><br>Cordialement</p>";
$mail->AltBody = "This is the plain text version of the email content";
// Pièce jointe
$mail->AddStringAttachment($_POST['pdf'],"estimation.pdf","base64","application/pdf");
// Envoi de l'email
if(!$mail->send())
{
echo "Echec de l'envoi du mail :" . $mail->ErrorInfo;
}
else
{
echo "Message envoyé !";
}[/code]
Je reçois parfaitement le mail et sa PJ mais celle-ci n'est pas exploitable (corrompue) alors que sa taille semble correcte.
J'ai essayé des variantes mais là Je commence à m'arracher les cheveux !
Merci