私の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