2

blob ( zip.jsで作成) を base64 に変換し、websql データベースに保持しようとしています。次に、このプロセスを逆に実行したいと思います。とにかく、私のテスト コード (圧縮なし) は次のようになります。

var blob = new Blob([data], {
    type : "text/plain"
});

blobToBase64(blob, function(b64) {      // convert BLOB to BASE64
    var newBlob = base64ToBlob(b64) ;   // convert BASE64 to BLOB
    console.log(blob.size + " != " + newBlob.size) ;
});

実際の例を参照してください: http://jsfiddle.net/jeanluca/4bn5G/

つまり、奇妙なことに、Chrome では機能しますが、Safari では機能しません (私の iPad では機能しません)。

また、base64ToBlob を次のように書き直そうとしました。

function base64ToBlob(base64) {
    var binary = atob(base64);
    return new Blob([binary]) ;
}

しかし、その後、圧縮解除が機能しなくなり、「IndexSizeError: DOM Exception 1」例外が発生します

私のコードで何が間違っているのでしょうか?

thnx

4

1 に答える 1