2017-04-05 153 views
0

我想從網絡攝像頭捕獲圖像並將其存儲到數據庫和文件路徑,但它不會存儲在數據庫中,也不會存儲在文件路徑中。從網絡攝像頭和商店捕獲圖像

我的觀點:

<script type="text/javascript" src="<?php echo base_url() ?>assets/dist/js/webcam.min.js"></script> 


<div class="form-group"> 
             <div class="col-sm-3 col-md-offset-3 no-print"> 
              <!--<img src="<?php echo base_url(); ?>assets/images/blank.png" >--> 
              <div class="clearfix" id="my_camera"></div><br> 
              <button type="button" class="btn btn-info" onClick="take_snapshot()"><i class="fa fa-camera fa-fw"></i>Capture</button> 
             </div> 
             <div class="col-md-3 col-md-offset-1 imager" id="results"> 
              <!--<img src="<?php echo base_url(); ?>assets/images/user.png" class="thumbnail" >--> 
              <h3>Visitors Photo</h3> 
             </div> 
            </div> 
<script language="JavaScript"> 
     function take_snapshot() {     
      Webcam.snap(function (data_uri) {      
       document.getElementById('results').innerHTML = 
         '<h2>Here is your image:</h2>' + 
         '<img src="' + data_uri + '"/>'; 
      }); 
     } 
    </script> 
<script language="JavaScript"> 
     Webcam.set({ 
      width: 320, 
      height: 240, 
      image_format: 'jpeg', 
      jpeg_quality: 90 
     }); 
     Webcam.attach('#my_camera'); 
    </script> 

回答

0

如果你使用https://github.com/jhuckaby/webcamjs/blob/master/DOCS.md可以

Webcam.snap(function (data_uri) {      
       document.getElementById('results').innerHTML = 
         '<h2>Here is your image:</h2>' + 
         '<img src="' + data_uri + '"/>'; 
      }); 

必須像

Webcam.snap(function (data_uri) {      
        document.getElementById('results').innerHTML = 
          '<h2>Here is your image:</h2>' + 
          '<img src="' + data_uri + '"/>'; 
        Webcam.upload(data_uri, '<?php echo site_url('controlerfunctiontoupload'); ?>', function(code, text) { 
      if (code == '200') { 
       alert ('ok'); 
      } else { 
       alert('error'); 
      } 
     }); 
       }); 

看到文檔

upload_name  "webcam" 
在CONTROLER

/功能上傳

$filename='test.jpg'; 
$filepath=FCPATH.'folderWithRights0777/'.$filename; 
    $result=move_uploaded_file($_FILES['webcam']['tmp_name'], $filepath)); 

也插入數據庫

$this->db->from('files'); 
$this->db->set('image', $filename); 
$this->db->insert(); 
+0

我使用按照你的轉診鏈接上面和簡單的PHP使用它,它的工作,但是當我使用它的笨它顯示localhost所說的錯誤:Webcam.js錯誤:無法找到要附加到的DOM元素。你可以現在檢查我的代碼僅在查看頁面上方,而不是我在上面的查看頁面更新的所有代碼。 – dipti

+0

您應該在頁面加載後啓動網絡攝像頭!在document.ready事件上運行 ,或者在div id my_camera後運行javascript。這就是爲什麼「無法找到DOM元素」 – ShadowElf

+0

感謝您的建議,啓動網頁瀏覽器後,頁面加載它工作正常。 – dipti