如何使用jQuery保存照片?

时间:2017-06-13 04:53:43

标签: javascript php jquery image camera

我正在使用html,javascript和php开发软件。它应该使用网络摄像头保存图片,然后将它们保存到数据库中。

问题是,它拍摄的图片没有问题,但我实际上无法弄清楚如何将图片保存到文件中,以及将其保存到MySql DB中的格式会更高效。

以下是我拍摄照片的方式:

enemy1 = Enemy()
enemy1.attack()
enemy1.checkLife()

代码拍摄照片并将其绘制在变量(画布

)中

1 个答案:

答案 0 :(得分:1)

可以通过以下程序完成:

<强> HTML:

<canvas id="foto"></canvas>
<form action="upload.php" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="img" id="img_val">
    <input type="submit" name="submit" value="submit" />
</form>

<强> JS:

 <script type="text/javascript">
    var c = document.getElementById("foto");
    document.getElementById("img_val").value = c.toDataURL();
 </script>

<强> PHP:

<?php 
    if(isset($_POST['submit'])) : 
        $data = $_POST['img'];

        list($type, $data) = explode(';', $data);
        list(, $data)      = explode(',', $data);
        $data = base64_decode($data);

        file_put_contents('uploads/image.png', $data); 

    endif; 
?>

这里发生了什么?

首先我在form下方添加了canvas,以隐藏input字段中的 base64编码格式存储图像。

其次 JS脚本从canvas获取内容并将其存储在base64 encoded format字段中hidden input

现在,当用户提交表单以上传图片时,数据将以编码格式发送到包含image的服务器。

第三个​​ PHP代码删除数据:image / png; base64,decode将收到的数据备份到适当内容的商店图片进入服务器。

了解如何将图像发送到服务器可能会有所帮助。