2016-04-22 22 views
0

私はajaxを使用してファイルを取得し、ダミーのタグを使用してデータURIをダウンロードしようとしています。私は、このlibにjquery.binarytransport.jsajaxを使用しているときにテキストから配列バッファへの変換がありません

を使用しています私は、バイナリまたはarraybufferオプションでPPTXドキュメントを取得しようとすると:

$.get(url, function(data) { 
    var dataURI = 'data:application/octet-stream;base64,' + btoa(data); 
}, 'binary'); 

または

$.get(url, function(data) { 
    var dataURI = 'data:application/octet-stream;base64,' + btoa(data); 
}, 'arraybuffer'); 

私が持っているエラー"No conversion from text to binary"または"No conversion from text to arraybuffer"同じブロブで起こる

とするとき、私は私が応答にbtoa機能を使用するとき、私はエラーを持っているテキストにタイプを設定します。"Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range."

誰もがこの問題を解決する方法を知っていますか?

答えて

0

私はresponseTypeとしてテキストを使用してこの機能を使用することによって、問題を解決しました:

function base64(buffer) { 
    var binary = ''; 
    var bytes = new Uint8Array(buffer); 
    var len = bytes.byteLength; 
    for (var i = 0; i < len; i++) { 
     binary += String.fromCharCode(bytes[i]); 
    } 
    return window.btoa(binary); 
} 
関連する問題