第二步:引用
1.将下载的文件放在项目中,并使用 <script src="https://www.jb51.net/article/download2.js"></script> 进行引用 (速度快)
2.使用网络引用 <script src="https://danml.com/js/download2.js"></script>
第三步:开始使用
//生成一个txt的文件,讲字符串变量 str 的内容放在里面,并完成下载 var str = "hello world可以中文吗?答案:可以的"; download(str, "Text.txt", "text/plain"); //也将生成一个txt文件,和上面的结果是一摸一样 str = "data:text/plain,hello%20world"; download(str, "dlDataUrlText.txt", "text/plain"); //将数组或者json对象写入到文件中 var debug = {hello : "world"}; var blob = new Blob([JSON.stringify(debug, null, 2)]); download(blob, "dlTextBlob.txt", "text/plain"); var str= "hello world", arr= new Uint8Array(str.length); str.split("").forEach(function(a,b){ arr[b]=a.charCodeAt(); }); download( arr, "textUInt8Array.txt", "text/plain" ); //将html页面中的一部分生成单独的 html文档 download(document.body.outerHTML, "dlHTML.html", "text/html"); //给字符串添加标签,或者html片段直接给方法,将会生成对应内容的文件 download(new Blob(["hello world".bold()]), "dlHtmlBlob.html", "text/html"); //将ajax查询回来的结果,赋值给文件,并下载 $.ajax({ url: "/download.html", success: download.bind(true, "text/html", "dlAjaxCallback.html") }); //将图片的base64装入到图片中并下载。 download("data:image/gif;base64,R0lGODlhRgAVAIcAAOfn5+/v7/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAAAAP8ALAAAAABGABUAAAj/AAEIHAgggMGDCAkSRMgwgEKBDRM+LBjRoEKDAjJq1GhxIMaNGzt6DAAypMORJTmeLKhxgMuXKiGSzPgSZsaVMwXUdBmTYsudKjHuBCoAIc2hMBnqRMqz6MGjTJ0KZcrz5EyqA276xJrVKlSkWqdGLQpxKVWyW8+iJcl1LVu1XttafTs2Lla3ZqNavAo37dm9X4eGFQtWKt+6T+8aDkxUqWKjeQUvfvw0MtHJcCtTJiwZsmLMiD9uplvY82jLNW9qzsy58WrWpDu/Lp0YNmPXrVMvRm3T6GneSX3bBt5VeOjDemfLFv1XOW7kncvKdZi7t/S7e2M3LkscLcvH3LF7HwSuVeZtjuPPe2d+GefPrD1RpnS6MGdJkebn4/+oMSAAOw==", "dlDataUrlBin.gif", "image/gif"); //使用xhr获取本域名下文件,并封装到文件进行下载。这里的前提是xhr访问的文件必须和该程序执行在同一域名下, //否则会报跨域的问题。比如此程序执行在localhost下面,而这里的访问地址使用的是,就会访问不成功。 var x=new XMLHttpRequest(); x.open("GET", "http://danml.com/wave2.gif", true); x.responseType = 'blob'; x.οnlοad=function(e){ download(x.response, "dlBinAjax.gif", "image/gif" ); }; x.send();
扩展:还可以使用文件上传再下载进行测试。
<input type="file" οnchange="download(this.files[0], this.files[0].name, this.files[0].type)">
以上就是JS端基于download.js实现图片、视频时直接下载而不是打开预览的详细内容,更多关于js实现图片、视频时直接下载的资料请关注脚本之家其它相关文章!