有很多问题与将二进制转换为blob有关,但到目前为止所有的答案都绕过了这个问题,并假设您可以直接从XHR获取Blob或获取或其他网络查询。
在我的情况下,情况并非如此,我有一个PDF二进制文件(来自多个来源之一),但所有显而易见的方法将它变成Blob都失败了。在大多数情况下,生成的文件是450k,而不是原始数据中的260K,这表明Unicode转换。
foo = '%PDF ....'
b = new Blob([foo], {type: "application/pdf"})
u = URL.createObject(b)