javascript - JavaScript,通过base64 url下载图片
问题描述
所以我有一个 url,它是 base-64 编码的。我需要创建 blob url 来下载这个文件。我无法解码那个 url,因为我需要隐藏真实的 url。它应该被编码。下一个代码不起作用,如果我打开 blob url,就会出现空白屏幕。
const res = await fetch('data:image/jpeg;base64,aHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vbWF4Lzg3NS8xKnZadV9hdFd2aHdEcnBLNGEybWhha2cuanBlZw==');
const blob = await res.blob();
const myUrl= URL.createObjectURL(blob);
解决方案
如果你想隐藏你的 url,你应该创建一个代理服务器,它就像一个 url 缩短器一样工作。Base64 更令人讨厌。
但是,如果要下载 base64 url,则必须先对其进行解码,然后再获取它。
fetch(atob("aHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vbWF4Lzg3NS8xKnZadV9hdFd2aHdEcnBLNGEybWhha2cuanBlZw=="))
.then(res => res.blob())
.then(blob => {
//whatever
});
阅读有关atob () 和btoa () 的更多信息:
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob
推荐阅读
- python - 如何使用 python 在地理地图上将边缘绘制为 3D 弧?
- android - 如何在我的应用程序中添加小提示或消息,我应该使用库吗?
- drupal - BrowserSync 和 Gulp 是否在本地主机上构建 drupal 时相互补充或竞争
- javascript - 你会如何在 Angular 6 中设计这个组件?
- opencv - 在 ARM Docker 容器中构建 OPENCV 时出现问题
- jquery - 基于国家代码的jquery简单重定向代码
- css - 加载 CSS 后渲染 SVG (React styled-components)
- python - 在 python 中打印图像中对象的边界大小时出现错误
- java - 当出现异常时,回滚完成的操作,但将异常存储在表中
- ios - PageViewController 不工作