来自javascript二进制字符串的Blob
我使用来自javascript二进制字符串的Blob,javascript,string,binary,blob,Javascript,String,Binary,Blob,我使用FileReader.readAsBinaryString(blob)创建了一个二进制字符串。 我想用此二进制字符串中表示的二进制数据创建一个Blob。您使用的Blob是否不再可用? 是否必须使用readAsBinaryString?您可以改用readAsArrayBuffer吗。有了数组缓冲区,重新创建blob会容易得多 如果没有,您可以通过循环遍历字符串并构建一个字节数组,然后从中创建一个blob来构建blob $('input')。更改(函数(){ var frb=新文件读取器()
FileReader.readAsBinaryString(blob)创建了一个二进制字符串。
我想用此二进制字符串中表示的二进制数据创建一个Blob。您使用的Blob是否不再可用?
是否必须使用
readAsBinaryString
?您可以改用readAsArrayBuffer
吗。有了数组缓冲区,重新创建blob会容易得多
如果没有,您可以通过循环遍历字符串并构建一个字节数组,然后从中创建一个blob来构建blob
$('input')。更改(函数(){
var frb=新文件读取器();
frb.onload=函数(){
变量i,l,d,数组;
d=这个结果;
l=d.长度;
阵列=新的UINT8阵列(l);
对于(变量i=0;i
@epascarello如何使用FileReader解决我的问题?是的,这对我很有用。我用适合我的代码编辑了你的答案。与我最初的问题不同的是,在本例中,binaryString来自一个使用node.js方法fs.readFileSync(路径,“binary”)的文件。这对我来说非常有用!我只需要改变一件事——我不能在Blob构造函数中直接使用Uint8Array,而是必须传递新的Blob([array.buffer]),否则Blob的内容就是序列化的Uint8Array。