Php 无法在chrome中从画布到数据URL获取完整的图像文件
我正试图通过一个php文件从服务器下载图像文件(如另存为)。在我的html页面中单击“保存按钮”,我使用canvas的toDataUrl并将其发送到php文件。我能够在FF&Opera中正确保存完整图像,但不能在chrome中保存。在chrome中,只有一半的图像被保存 HTML代码Php 无法在chrome中从画布到数据URL获取完整的图像文件,php,image,google-chrome,canvas,save,Php,Image,Google Chrome,Canvas,Save,我正试图通过一个php文件从服务器下载图像文件(如另存为)。在我的html页面中单击“保存按钮”,我使用canvas的toDataUrl并将其发送到php文件。我能够在FF&Opera中正确保存完整图像,但不能在chrome中保存。在chrome中,只有一半的图像被保存 HTML代码 <form id="frm" method="post" action="php/saveimg.php" style="display:none"> <input type="submit"
<form id="frm" method="post" action="php/saveimg.php" style="display:none">
<input type="submit" value="submit"/>
<input type="text" name="data" id="data" />
</form>
PHP代码(saveimage.PHP):
如果您需要更多详细信息,请告诉我。此问题已解决。当我在输入文本中放入画布数据时,它并没有占用整个数据,我改为textarea。
$("#saveimg").click(function(){
var dataurl=document.getElementById('mycanvas').toDataURL();
$("#data").val(dataurl);
$("#frm").trigger("submit");
});
<?php
$data = $_POST['data'];
//removing the "data:image/png;base64," part
$uri = substr($data,strpos($data,",")+1);
file_put_contents('wow.png', base64_decode($uri));
if(file_exists('wow.png')){
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename="wow.png"');
readfile('wow.png');
}
?>