php画布怎么获取上传的图片,javascript – 使用AJAX将图像从画布上传到PHP服务器...

在我正在构建的软件中,我正在使用网络摄像头拍照并从那里将其上传到

PHP服务器以供以后使用.我已经使用表单成功地将图像从我的计算机上传到服务器,但由于我想要上传的图像已经预先确定,所以我一直在研究使用AJAX.我从网络摄像头拍摄快照的代码如下:

var video = document.getElementById('video');

// Get access to the camera!

if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {

// Not adding `{ audio: true }` since we only want video now

navigator.mediaDevices.getUserMedia({video: true}).then(function (stream) {

video.src = window.URL.createObjectURL(stream);

video.play();

});

}

// Elements for taking the snapshot

var canvas = document.getElementById('canvas');

var context = canvas.getContext('2d');

var video = document.getElementById('video');

// Trigger photo take

document.getElementById("snap").addEventListener("click", function () {

var img = context.drawImage(video, 0, 0, 640, 480);

});

document.getElementById("capture").addEventListener("click", function () {

context.drawImage(video, 0, 0, 640, 480);

//var capture = canvas.toDataURL();

});

这是我保存此图像的PHP代码:

if (isset($_POST['upload'])) {

$image_name = $_FILES['image']['name'];

$image_name = $_FILES['image']['type'];

$image_name = $_FILES['image']['size'];

$image_tmp_name = $_FILES['image']['tmp_name'];

if ($image_name == '') {

echo "";

exit();

} else {

move_uploaded_file($image_tmp_name, "pictures/$image_name");

echo "Image uploaded succesfully.";

echo "%24image_name";

}

}

?>

我确信这些代码都可以工作,因为我已经单独测试了它们.如前所述,我试图使用AJAX将它们绑定在一起.我找到的示例代码是:

function saveImage() {

var capture = canvas.toDataURL("image/png");

var xmlHttpReq = false;

if (window.XMLHttpRequest) {

ajax = new XMLHttpRequest();

}

else if (window.ActiveXObject) {

ajax = new ActiveXObject("Microsoft.XMLHTTP");

}

ajax.open('POST', 'picture.php', false);

ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

ajax.onreadystatechange = function () {

console.log(ajax.responseText);

}

ajax.send("imgData=" + capture);

}

我在按钮内使用onClick =“saveImage()”来尝试调用函数将图像上传到服务器.当我按下按钮时,该文件似乎根本不访问服务器.我有什么东西在这里让它全部工作吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值