2016-02-22 55 views
3

我是新來的離子和角度而現在我米試圖將文件轉換爲Base64字符串。我正在使用cordova文件插件選擇文件,文件可能是圖像,pdf,文檔或任何類型。我有該文件的完整路徑。我怎樣才能得到該文件的base64字符串?我可以使用文件路徑轉換爲base64或者實現此目的的方式。獲取文件的base64字符串離子

回答

2

phonegap-base64.這是科爾多瓦的插件和工作對我來說好。

+0

感謝Harrish;)最簡單,最簡單的解決方案 – aqarain

+0

它不適用於PDF文件並返回空字符串。 –

1

使用角的base64插件這一點。鏈接在這裏:https://github.com/ninjatronic/angular-base64
它很容易使用。注入模塊中的依賴關係爲:

angular 
    .module('myApp', ['base64']) 
    .controller('myController', ['$base64', '$scope',function($base64, $scope) { 

      $scope.encoded = $base64.encode('a string'); 
      $scope.decoded = $base64.decode('YSBzdHJpbmc='); 
    }]); 

而且,請記住在index.html中包含引用。

<script src="bower_components/angular-base64/angular-base64.js"></script> 
+0

首先,非常感謝Alex。但什麼應該是參數,它需要字符串作爲參數,但我有pdf/img文件路徑作爲參數,因此如何以及應該通過什麼作爲參數? – aqarain

+1

如果參數是圖像,你會得到base64編碼的圖像,如果參數是字符串,你會得到base64編碼的字符串。 –

1

您可以在此看一看:

如何使用它:

angular 
    .module('myApp', ['base64']) 
    .controller('myController', [ 

     '$base64', '$scope', 
     function($base64, $scope) { 

      $scope.encoded = $base64.encode('a string'); 
      $scope.decoded = $base64.decode('YSBzdHJpbmc='); 
    }]); 

你可以這樣做:

var fileReader = new FileReader(); 
    fileReader.onload = function(e) 
    { 
     // e.target.result contains the "string" of your file 
    }; 
    fileReader.readAsText(yourfile); 
+0

非常感謝com.ulf。但什麼應該是參數,它需要字符串作爲參數,但我有pdf/img文件路徑作爲參數,因此如何以及應該通過什麼作爲參數? – aqarain

+0

只有鏈接的答案不是很好 - 考慮從兩個鏈接中添加詳細信息,特別是針對此答案。 –

+0

@JF它,謝謝你的提示 –