欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)pc端拍照上傳功能

 更新時(shí)間:2021年09月29日 16:29:10   作者:qq_39070698  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)pc端拍照上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)pc端拍照上傳功能的具體代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html> 
<html> 
  <head> 
    <meta charset="UTF8">
  </head> 
  <body>  
 
<div id="contentHolder">       
<video id="video" width="320" height="320" autoplay></video>       
<button id="camera">拍照</button>        
<canvas id="canvas" width="320" height="320">
</canvas> 
</div>
 
<script type="text/javascript">  
var video = document.getElementById('video');
var track;
var Camera= document.getElementById('camera');
 window.addEventListener("DOMContentLoaded", function(){
 navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
  if (navigator.getUserMedia) {
    navigator.getUserMedia({video:true},
     function(stream) {
      track = stream.getTracks()[0];  // 通過這個(gè)關(guān)閉攝像頭
      video.src = window.URL.createObjectURL(stream);
      video.onloadedmetadata = function(e) {
           video.play();
         };
     },
     function(err) {
        alert(err.name);
     }
    );
  }  
 
  
 });   
 
 
Camera.onclick = function(){
 var canvas = document.getElementById('canvas');
 var context2D = canvas.getContext("2d");
 context2D.fillStyle = "#ffffff";
 context2D.fillRect(0, 0, 320, 320);
 context2D.drawImage(video, 0, 0, 320, 320);
 var image_code =canvas.toDataURL("image/png");//要傳給后臺(tái)的base64
 
 console.log(image_code)
 if (null != track) {
            track.stop();//關(guān)閉攝像頭
      }
 
};
</script>
  </body> 
</html>

上段代碼會(huì)在打開網(wǎng)頁的時(shí)候就會(huì)調(diào)用攝像頭

傳給后臺(tái)的是個(gè)base64碼

下面是我用vue傳給后臺(tái)的代碼

var param = {
 file:image_code2
 }
 var a = JSON.stringify(param);
 
 uploadimg(a).then((res) => {
     console.log(res);
          
 });

下面是我的php后臺(tái)接收代碼

public function uploadImg($name="img",$path='img'){
        $_POST = json_decode(file_get_contents('php://input'),true);
        $param = $_POST;
        $image_code = $param['file'];
        $img = str_replace('data:image/png;base64,', '', $image_code);//獲取base64碼
        $img = str_replace(' ', '+', $img);
        $data = base64_decode($img);
        $name = time().".png";
        $savepath = "./upload/".$name;//將圖片存到的位置
        file_put_contents($savepath,$data);//將內(nèi)容寫入文件
        $this->ajaxReturn(array('status'=>'0','data'=>$savepath));
    }

如果想點(diǎn)擊觸發(fā) 打開攝像頭可以將camera中代碼取出放在一個(gè)方法中即可

var Camera= document.getElementById('camera');
 window.addEventListener("DOMContentLoaded", function(){
 navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; 
  
 });   
 
function demo(){
 if (navigator.getUserMedia) {
    navigator.getUserMedia({video:true},
     function(stream) {
      track = stream.getTracks()[0];  // 通過這個(gè)關(guān)閉攝像頭
      video.src = window.URL.createObjectURL(stream);
      video.onloadedmetadata = function(e) {
           video.play();
         };
     },
     function(err) {
        alert(err.name);
     }
    );
  }  
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue this.$router.push(參數(shù))實(shí)現(xiàn)頁面跳轉(zhuǎn)操作

    Vue this.$router.push(參數(shù))實(shí)現(xiàn)頁面跳轉(zhuǎn)操作

    這篇文章主要介紹了Vue this.$router.push(參數(shù))實(shí)現(xiàn)頁面跳轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue3中ts語法使用element plus分頁組件警告錯(cuò)誤問題

    vue3中ts語法使用element plus分頁組件警告錯(cuò)誤問題

    這篇文章主要介紹了vue3中ts語法使用element plus分頁組件警告錯(cuò)誤問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue實(shí)現(xiàn)移動(dòng)端拖動(dòng)排序

    vue實(shí)現(xiàn)移動(dòng)端拖動(dòng)排序

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)移動(dòng)端拖動(dòng)排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Vue實(shí)現(xiàn)用戶登錄及token驗(yàn)證

    Vue實(shí)現(xiàn)用戶登錄及token驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)用戶登錄及token驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue2中前端實(shí)現(xiàn)語音播報(bào)的詳細(xì)過程

    vue2中前端實(shí)現(xiàn)語音播報(bào)的詳細(xì)過程

    vue中語音播報(bào),目前本人寫的過程中,遇到了兩種情況,第一種是后端直接返回一個(gè)mp3的播放url,第二種就是播報(bào)的內(nèi)容需要前端自己拼接的,關(guān)于兩種方法,我都說一下如何實(shí)現(xiàn),感興趣的朋友一起看看吧
    2024-07-07
  • vue項(xiàng)目如何刪除無用的依賴詳解

    vue項(xiàng)目如何刪除無用的依賴詳解

    vue是目前非常流行的前端開發(fā)框架,隨著技術(shù)的不斷更新,我們也需要更新我們的vue項(xiàng)目,這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目如何刪除無用的依賴的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • 詳解Vue中的自定義指令

    詳解Vue中的自定義指令

    這篇文章主要介紹了Vue中的自定義指令的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下
    2020-12-12
  • vue3?elementPlus?table實(shí)現(xiàn)列寬可拖拽功能

    vue3?elementPlus?table實(shí)現(xiàn)列寬可拖拽功能

    這篇文章主要介紹了vue3?elementPlus?table實(shí)現(xiàn)列寬可拖拽功能,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Vue中用props給data賦初始值遇到的問題解決

    Vue中用props給data賦初始值遇到的問題解決

    這篇文章主要介紹了Vue中用props給data賦初始值遇到的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue.js實(shí)現(xiàn)拖放效果的實(shí)例

    Vue.js實(shí)現(xiàn)拖放效果的實(shí)例

    這篇文章主要介紹了Vue.js實(shí)現(xiàn)拖放效果的實(shí)例的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09

最新評(píng)論