为了账号安全,请及时绑定邮箱和手机立即绑定

将“画布”图像数据上传到服务器

将“画布”图像数据上传到服务器

我需要即时将画布图像数据上传到服务器(数据库),即,我需要创建一个带有input = file的表单,并在没有任何用户交互的情况下发布图像数据。
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

您不需要文件输入,只需ctx.getImageData()使用Ajax 获取数据并将其发布到服务器即可。


请参阅MDN文档CanvasRenderingContext2D.getImageData()。


但是,即使使用,您也无法在IE中获取图像数据ExCanvas。


查看完整回答
反对 回复 2019-10-28
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

这是我解决此问题的方法。使用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);


查看完整回答
反对 回复 2019-10-28
  • 3 回答
  • 0 关注
  • 656 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信