[英]How to send data to a server in javascript
這是我的第一篇文章,請發表您的評論,因為我需要詳細的指導。
背景,大二學生,受過1年python培訓。 兩周前才開始學習javascript。 沒有上過大學的編碼經驗。
我創建了一個網頁,該網頁首先流式傳輸攝像頭,然后單擊按鈕,拍攝快照,並通過使用畫布將其顯示在網頁上。
我想做的事情:使用一個單獨的按鈕將該畫布圖像發送到服務器。
我做了什么:
使用navigator.getUserMedia()進行網絡攝像頭流傳輸。
使用canvas.toDataURL()將畫布圖像轉換為base64。
嘗試在網上進行谷歌搜索以查找執行“ POST”請求的教程,但我不確定如何解決該問題,總之,我不知道如何編寫將數據發送到服務器的代碼。
$(document).ready(function(){
$("#testbutton").click(function(){
$.get("http://localhost:8080",
url,
function(){
alert("OK");
});
});
});
我的一些代碼片段。
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
else if(navigator.mozGetUserMedia) { // Firefox-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
教程如下:
您需要使用AJAX將數據發送到服務器。
像這樣:
jQuery.ajax({
method: "POST",
url: "save.php",
data: { image: canvasToDataURLString }
})
然后,您將需要一些服務器端代碼來保存圖像。 這是從此答案修改而來的PHP版本: 如何從base64數據字符串中保存PNG圖片服務器端
$data = $_POST['image'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);
現在,您應該在php腳本旁邊有一個名為'image.png'
的圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.