2015-10-13 37 views
0

美好的一天!我只想把圖像捕獲到指定的文件夾上,而不是通過ajax調用數據庫本身。這是我做了什麼:將base64編碼的字符串存儲到指定的文件夾中

JS文件:

 
$('#btn-save-snapshot').on('click', function() { 

     Webcam.snap(function(data_uri) 
     { 

      $.ajax({ 
       url: '/capture', 
       type: 'POST', 
       data: 
       { 
        captimage: data_uri 
       }, 
       success: function(data) 
       { 
        alert('Saved!'); 
       }, 
       error: function(xhr) 
       { 
        alert($.parseJSON(xhr.responseText)['error']['message']); 
       } 
      }); 
     }); 
    }); 

我不知道如何將它保存到指定的文件夾。我已經在控制器上使用了Input :: file('captimage') - > move($ destination),但它不起作用。

+0

http://stackoverflow.com/help/mcve會引導你發佈這樣的問題。我們特別需要關於「不起作用」的細節。 – Prune

回答

1

您只返回一個字符串,而不是圖像本身(通常爲base64 -format)。所以你必須做的是將信息發送到一個單獨的php文件,然後使用file_put_contents來保存圖像。保存之前,您必須刪除前綴。

所以你可以做這樣的事情:(如果你得到一個base64 -string):

file_put_contents('/capture/img.jpg', base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST['captImage']))); 

如果不是的base64,請發表的結果,所以你captImage -variable的內容。

相關問題