2015-09-03 100 views
0

我需要將照片轉換爲字節數組。我加載照片與HTML這樣的:如何將html文件轉換爲字節數組使用angularjs

<input class="form-control" 
      type="file" 
      name="filename" 
      tooltip="Buscar foto" 
      ng-file-select="onFileSelect($files)"> 

onFileSelect功能將文件保存在我的範圍內的變量。這是代碼。

$scope.onFileSelect = function ($files) { 
     $scope.selectedFile = $files; 
    }; 

現在,我需要把這個文件轉換成字節數組,以顯示它爲圖片後使用data-ng-src =" data: image/png; base64, {{selectedFile}} "但我不知道如何做到這一點。任何想法?謝謝

編輯 這是$文件日誌的圖片。

enter image description here

回答

1

退房http://www.javascripture.com/FileReader

所以,你的情況,你可以這樣做:

$scope.onFileSelect = function($file){ 
    var reader = new FileReader(); 
    reader.onload = function(e){ 
    console.log("about to encode"); 
    $scope.encoded_file = btoa(e.target.result.toString()); 
    }; 
    reader.readAsBinaryString($file); 
}; 

注有幾種方法用的FileReader對象讀取文件。非常適合作爲二進制,文本和數組緩衝區進行讀取!

+0

我得到這個錯誤:''FileReader'上執行'readAsBinaryString'失敗:參數1不是'Blob'.'類型。我想這可能是因爲參數是'File' – Aramillo

+0

哦,我明白了。它看起來像你正在使用的文件列表。您介意發佈$文件的日誌嗎? –

+0

請檢查有問題的編輯部分 – Aramillo

相關問題