我已经设法使用 javaScript 和 Ajax 将画布保存为图像,但我希望或不希望出现一个对话框来选择目标文件夹,而是将其保存在预先建立的路径中。
附上代码块:
<script type="text/javascript">
function guardar() {
var link = document.createElement('a')
link.download = "firma";
link.href = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
link.click();
}
</script>
<button onclick="guardar()" id="convertir">Convertir</button>
在那个代码块中,我定义了转换为图像的函数,但我需要进一步自动化这个过程,通过使用 PHP 将图像保存到服务器上的预设路径,并且函数调用将在管理员给出的同时进行注册用户。
我还有一个问题,如何将图像上传到服务器?我需要将签名保存在数据库中,我怀疑是将图像上传到数据库还是在数据库中保存图像的路径。
根据您分享的小代码,我创建了一个画布并用红色方块填充它。按下按钮时,将使用 POST 方法向同一个 PHP 生成 XHR 查询,该方法发送以 BASE64 编码的图像。
PHP,当它检测到字段的 POST 发送时
imagen
,会删除初始标头(直到第一个逗号)并解码 BASE64 数据,以便稍后将其保存在名为imagen.png
.XHR 代码显示一个链接,允许您查看保存在服务器上的图像。重要的是服务器对其具有写入权限以使其正常工作。
这是示例:
重要的是直接设置画布的
width
和属性,而不是通过它们,因为它们不是指样式,而是指画布的大小。图像被发送到服务器。height
css
<canvas>
Base64
存储图像的路径必须具有必要的权限。
我评论了最重要的部分: