来自javascript二进制字符串的Blob

Wil*_*ith 7 javascript string binary blob

我有一个二进制字符串 FileReader.readAsBinaryString(blob).

我想用这个二进制字符串表示的二进制数据创建一个Blob.

Mus*_*usa 12

您使用的blob不再可用吗?
你必须使用readAsBinaryString?你能用吗readAsArrayBuffer?使用数组缓冲区,重建blob会更容易.

如果没有,你可以通过在字符串中循环并构建一个字节数组然后从中创建一个blob来构建blob.

$('input').change(function(){
    var frb = new FileReader();
    frb.onload = function(){
        var i, l, d, array;
        d = this.result;
        l = d.length;
        array = new Uint8Array(l);
        for (var i = 0; i < l; i++){
            array[i] = d.charCodeAt(i);
        }
        var b = new Blob([array], {type: 'application/octet-stream'});
        window.location.href = URL.createObjectURL(b);
    };
    frb.readAsBinaryString(this.files[0]);
    
 
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="file">
Run Code Online (Sandbox Code Playgroud)