Javascript 将画布图像保存到服务器
我正在尝试将画布图像保存到服务器。我可以保存文件,但它总是0字节。我的代码怎么了Javascript 将画布图像保存到服务器,javascript,php,html,canvas,Javascript,Php,Html,Canvas,我正在尝试将画布图像保存到服务器。我可以保存文件,但它总是0字节。我的代码怎么了 <script> function test(){ var canvas = document.getElementById("cvs"); var dataURL = canvas.toDataURL(); $.ajax({ type: "POST", url: "upload.php", data: { imgBase64: dataURL } }).done(fun
<script>
function test(){
var canvas = document.getElementById("cvs");
var dataURL = canvas.toDataURL();
$.ajax({
type: "POST",
url: "upload.php",
data: {
imgBase64: dataURL
}
}).done(function(o) {
console.log('saved');
});
}
</script>
功能测试(){
var canvas=document.getElementById(“cvs”);
var dataURL=canvas.toDataURL();
$.ajax({
类型:“POST”,
url:“upload.php”,
数据:{
imgBase64:数据URL
}
}).完成(功能(o){
console.log('saved');
});
}
php:
首先,您必须确保在定义
画布
变量之后和创建数据URL之前,已在画布上绘制了
其次,您似乎正在这一php行中寻找img
:
$img = $_POST['img'];
但在javascript中,您将其定义为imgBase64
:
data: {
imgBase64: dataURL
}
最后,您应该在创建dataURL
后添加console.log(dataURL)
,以确保其中有任何内容。您在画布上的绘制位置可能重复:我不太确定您的意思。我将它绘制在与上面的javascript相同的页面上。这是我找到如何获取我所拥有的内容的链接。问题是,当我遵循这些指示时,我得到了0字节。谢谢。当我按照您的建议将“img”替换为“imgBase64”时,问题已经解决。我曾尝试插入“dataUrl”,但没有成功。另外,在发布之前,我的代码中有console.log(dataURL),但我把它去掉了。
data: {
imgBase64: dataURL
}