3 回答

TA贡献1887条经验 获得超5个赞
您不需要文件输入,只需ctx.getImageData()使用Ajax 获取数据并将其发布到服务器即可。
请参阅MDN文档CanvasRenderingContext2D.getImageData()。
但是,即使使用,您也无法在IE中获取图像数据ExCanvas。

TA贡献1836条经验 获得超3个赞
这是我解决此问题的方法。使用JavaScript将图像发布为base64数组,然后使用PHP解码并将其保存为图像。
客户端(JavaScript):
$.post('/ajax/uploadthumbnail',
{
id : id,
img : canvas.toDataURL("image/png")
}, function(data) {
console.log(data);
});
服务器端(PHP):
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $_SERVER['DOCUMENT_ROOT'] . '/images/some_name.png';
file_put_contents($file, $data);
添加回答
举报