之前不太了解浏览器对于Blob和File对象的开放程度,以为不支持直接下载。因为一直觉得浏览器下载必须要一个下载地址,不支持将变量中的文件保存到本地,直到看到了前端同事的代码才发现自己是错的,牢记牢记。
使用 window.URL.createObjectURL() 方法可以创建指向 Blob 或 File 对象的临时URL,这样你就可以在浏览器中下载这个 Blob 或 File 对象。
(1)、创建 Blob 对象
let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
(2)、创建指向 Blob 的 URL
let url = window.URL.createObjectURL(blob);
(3)、创建一个用于下载的链接
let a = document.createElement("a"); a.href = url; a.download = "file.txt"; // 或者任何你想要的文件名 a.style.display = 'none'; // 隐藏链接 document.body.appendChild(a);
(4)、触发下载
a.click();
(5)、清理URL
window.URL.revokeObjectURL(url);
TmodJS是一套完整的前端模块框架。 虽然我们PHP框架自带各种模板引擎,但是始终是后端模板引擎。例如我们在使用ThinkPHP3.2.3中如果是Ajax异步加载页面,拼接HTML真的是很头疼的一件事情。...
https://3gimg.qq.com/lightmap/v1/marker/index.html?marker=coord:37.6767600000,112.7297800000&key=TKUBZ-D24AF-GJ4JY-JDVM2-IBYKK-KEBCU&referer=p...
<!DOCTYPE html> <html> <head> <title>捕捉和冒泡</title> <meta charset="utf-8"> </head> <bo...
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> </head> <body>...
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script type...
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> ...