我在将图像保存到本地文件时遇到问题。其他所有东西看起来都不错,但图像不会只是保存。这是我的代码片段。
datab.update(MyTable.TABLE_NAME, cv, null, null);
这是ajxstuff.php
function saveImage(){
var xmlhttp;
xmlhttp=((window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//do something with the response
}
}
xmlhttp.open("POST","ajxstuff.php",true);
var oldCanvas = document.getElementById('cvs').toDataURL("image/png");
var img = new Image();
img.src = oldCanvas;
xmlhttp.setRequestHeader("Content-type", "application/upload")
xmlhttp.send(oldCanvas);
}
答案 0 :(得分:0)
好的,这是我的修改后的答案:您可以不将图像作为(看起来像)文件发送,而是将其作为文本发送 - 因为这是您从toDataUrl()获得的内容(a base64编码的图像表示。)
$.post('ajxstuff.php',{
myChart: document.getElementById('cvs').toDataURL()
}, function ()
{
/* callback */
})
在您的PHP脚本中,数据会显示在$ _POST [' myChart']中 - 您可以将其写入这样的文件:
<?php
$data = base64_decode($_POST['myChart']);
file_put_contents('C:\Users\Administrator\Downloads\image009.png', $data);
?>