-1
在我的JavaScript我有一個base64編碼的pkcs12對象,我想提供作爲下載鏈接。要下載的Pkcs12(pfx)文件是二進制數據。createObjectUrl二進制數據失敗
所以我解碼的對象,並試圖從它創建的ObjectURL:
var bin = atob(pkcs12);
var blob = new Blob([bin],
{ type : 'application/x-pkcs12' });
$scope.pkcs12Blob = (window.URL || window.webkitURL).createObjectURL(blob);
的問題是,下載的文件比原始二進制數據更大,沒有被識別爲PKCS12。它看起來好像一些utf-8/unicode的東西被引入到文件中。
如果我將原始base64編碼數據提供給createObjectURL並下載base64編碼文件,我可以解碼下載的文件並獲取有效的p12文件。
所以我想知道:createObjectURL如何工作的二進制數據?
我發現這一點,這完美地工作:http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript – cornelinux
如果你已經想通了,你可以回答你自己的問題http://stackoverflow.com/help/self-answer – Lesley