更新:我接收到的图片是一个空白的图片,它与我的画布大小一样。它不是来自画布的图像。我能够将新画布PNG插入到DOM中,所以我知道图像数据没问题。
进一步:在它发送到PHP表单之前,我可以复制图像数据,将该代码粘贴到另一页的< img >标签中,作为它的src,然后正确的图像就会显示!非常接近成功!
我的用户在HTML5画布上创建了一个图像。我需要将该图像作为电子邮件附件发送给用户。我可以使用jquery AJAX捕获图像并将其POST到PHP页面。
是的,我已经阅读了十几个相关的帖子,这就是我到达这一步的方法。不,没有一个回答了我的问题-这部分总是被跳过的。不,我不想使用PHPMailer(可怕的文档)或任何其他类。这可以使用PHP mail() 实现。而且我已经很接近了。
以下是我的Web应用程序中的Javascript代码:
进一步:在它发送到PHP表单之前,我可以复制图像数据,将该代码粘贴到另一页的< img >标签中,作为它的src,然后正确的图像就会显示!非常接近成功!
我的用户在HTML5画布上创建了一个图像。我需要将该图像作为电子邮件附件发送给用户。我可以使用jquery AJAX捕获图像并将其POST到PHP页面。
是的,我已经阅读了十几个相关的帖子,这就是我到达这一步的方法。不,没有一个回答了我的问题-这部分总是被跳过的。不,我不想使用PHPMailer(可怕的文档)或任何其他类。这可以使用PHP mail() 实现。而且我已经很接近了。
以下是我的Web应用程序中的Javascript代码:
var data = "to=" + to + "&subject=" + subject;
var canvas2 = document.getElementById("canvas");
var strDataURI = canvas2.toDataURL();
data = data + "&attachment=" + strDataURI;
$.ajax({
type: "POST",
url: "mail2.php",
data: data,
success: function(){
$("#loading").fadeOut(100).hide();
$('#message-sent').fadeIn(500).show();
}
});
发送这些数据:
"to=erik@mydomain.com&subject=test&attachment=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3gAAAHBCAYAAAA7NBnaAAA..."
对于这个PHP页面(更新,更简单):
<?PHP
$to = $_REQUEST['to'];
$subject = 'PHP Mail Attachment Test';
$bound_text = "jimmyP123";
$bound = "--".$bound_text."\r\n";
$bound_last = "--".$bound_text."--\r\n";
$attachment = $_REQUEST['attachment'];
$attachment = substr($attachment,strpos($attachment,",")+1);
$attachment = chunk_split($attachment);
$headers = "From: admin@server.com\r\n";
$headers .= "MIME-Version: 1.0\r\n"
."Content-Type: multipart/mixed; boundary=\"$bound_text\"";
$message .= "If you can see this MIME than your client doesn't accept MIME types!\r\n"
.$bound;
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"
."Content-Transfer-Encoding: 7bit\r\n\r\n"
."hey my <b>good</b> friend here is a picture of regal beagle\r\n"
.$bound;
//$file = file_get_contents("http://www.litfuel.net/php/regal_004.jpg");
$message .= "Content-Type: image/png; name=\"index.png\"\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-disposition: attachment; file=\"index.png\"\r\n"
."\r\n"
.$attachment
//.chunk_split(base64_encode($file))
.$bound_last;
if(mail($to, $subject, $message, $headers))
{
echo 'MAIL SENT';
} else {
echo 'MAIL FAILED';
}
?>