如何将HTML5 Canvas.toDataURL字符串保存为PNG格式在PHP后端

4

将我的画布转换为图像源后,使用

 canvas.toDataURL("image/png");

将其传递给一个php文件后,我该如何在服务器上将其保存为.png图像?

最终我使用了 file_put_contents('test.png', base64_decode(substr($data, strpos($data, ",")+1))); - QuinnBaetz
1个回答

3

如果你启用了allow-url-fopen,那么它其实非常简单。PHP支持data: URL方案,自动解码base64和url编码。

preg_match('#^data:[\w/]+(;[\w=]+)*,[\w+/=%]+$#', $data=$_POST["dataU"])
and
copy($data, "output.png");

但是你也可以仅提取,后面的部分,并手动使用base64_decode()进行解码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接