我已经使用 HTML 5 Canvas 使用 javascript 在其上绘制一些东西,在我完成绘图后我必须将该 Canvas 保存在硬盘中。我可以通过以下方法获取图片src:
var img = canvas.toDataURL();
此后 img 变量包含类似于以下值的内容
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAABkCAYAAABwx8J9AAAP/UlEQVR4Xu2dX4wV1R3HZwSCkbWIRpA+UMqfatwArqyKVSMUbENbGx8KafvQxDaRYKMvbdPyxPWlaNK+1FSDD/WptsEXUkWaytY1aK2y65YlS1SQrDR2Xa2KZTEQwNvvb51LLtvdvXPnnjt/znxucjJ3984553c+5zfznd+cM2fCgA8EIAABCEAAAoUnEB............
我可以像这样使用这个图片src
<img id=myimage" src=img />
图像在网络浏览器中完美显示。
我想做的是将此图像保存在硬盘上。有没有办法用 PHP 或 javascript 保存它。
我们将不胜感激。
最佳答案
对于 PHP >=5.2.0,您可以使用 data://
流包装器:
file_put_contents("file.png",file_get_contents("data://".$var_containing_the_data_uri));
哪里$var_containing_the_data_uri
应替换为包含数据 URI 的变量,例如 $_POST['image']
.
您可以使用 AJAX post 发送数据。如果您使用 GET 方法,请注意 URL 长度限制。
或者,如果您想让客户端下载/保存图像,只需创建一个 <img>
带有数据 URI 的元素 src
并告诉客户右键单击并保存它。您也可以引用@Kode-Plus 声明的链接。
关于php - 如何使用我通过在 HTML 5 Canvas 上绘制创建的 src 保存图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645468/