相关疑难解决方法(0)

在JavaScript中从base64字符串创建Blob

我在字符串中有base64编码的二进制数据.

const contentType = 'image/png';
const b64Data = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
Run Code Online (Sandbox Code Playgroud)

我想创建一个blob:包含此数据的URL并将其显示给用户.

const blob = new Blob(????, {type: contentType});
const blobUrl = URL.createObjectURL(blob);

window.location = blobUrl;
Run Code Online (Sandbox Code Playgroud)

我还没有弄清楚如何创建Blob.

在某些情况下,我可以通过使用data:URL 来避免这种情况.

const dataUrl = `data:${contentType};base64,${b64Data}`;

window.location = dataUrl;
Run Code Online (Sandbox Code Playgroud)

但是在大多数情况下,data:URL非常大.


如何Blob在JavaScript中将base64字符串解码为对象?

javascript base64

405
推荐指数
13
解决办法
39万
查看次数

在新选项卡中打开Base64

我有一个Base64编码的文件,可以是PDF文件或图像.我想在HTML5页面中创建一个按钮,在新选项卡中打开此base64(或者新页面无关紧要)

我发现这段代码可以解决问题:

<a href="http://chriscoyier.net" 
   onclick="window.open(this.href); return false;" 
   onkeypress="window.open(this.href); return false;">
     This link will open in new window/tab
</a>
Run Code Online (Sandbox Code Playgroud)

它运作良好.但是当我用http替换http链接时

href="data:application/octet-stream;base64,/9j/4A.."
Run Code Online (Sandbox Code Playgroud)

然后下载文件但不在浏览器中显示.

我该怎么做?

谢谢

javascript html5 base64

9
推荐指数
2
解决办法
3万
查看次数

标签 统计

base64 ×2

javascript ×2

html5 ×1