Blob from javascript binary string

前端 未结 1 717
清歌不尽
清歌不尽 2020-12-09 20:43

I have a binary string created with FileReader.readAsBinaryString(blob).

I want to create a Blob with the binary data represented in this binary string.

相关标签:
1条回答
  • 2020-12-09 21:37

    Is the blob that you used not available for use anymore?
    Do you have to use readAsBinaryString? Can you use readAsArrayBuffer instead. With an array buffer it would be much easier to recreate the blob.

    If not you could build back the blob by cycling through the string and building a byte array then creating a blob from it.

    $('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]);
        
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <input type="file">

    0 讨论(0)
提交回复
热议问题