var blobaddress = window.url.createobjecturl(file实例 | blob实例)
3、利用blob地址展示图片预览
例:页面中有一个文件域,同时还有一个用来预览图片的容器,html代码如下所示。
12
原生Javascript代码如下所示。
var filenode=document.queryselector("input[type=file]"); var imgcOntainer=document.queryselector(".imgcontainer"); filenode.Onchange=function(){ var file=this.files.item(0); var img=new image(); img.src=url.createobjecturl(file); img.wp-block-quote">
$(".file").addeventlistener("input",function(){ var file=this.files.item(0); var fr=new filereader(); fr.readasdataurl(file); fr.Onload=function(){ $(".tp").src=this.result; } })
例2:为文件的读取设置一个进度条。
1
$(".file").addeventlistener("input",function(){ var file=this.files.item(0); var fr=new filereader(); fr.readasbinarystring(file); fr.Onloadstart=function(){ //当开始读取文件时 $(".pro").style.display="block"; } fr.Onprogress=function(){ //读取文件过程中 var temp=(event.loaded/file.size)*100; $("progress").value=temp; $("progress+span").textcOntent=parseint(temp*10)/10 + "%"; } fr.Onload=function(){ //读取结束时 window.settimeout(function(){ $(".pro").style.display="none"; },2000); } }) 六、blob类 1、blob类的功能
实现一个新文件的创建,该类是file类的父类。
2、创建blob类的实例
var blob=new blob(array,{ type:“mime类型” })
参数:array,数组,该数组用来指定创建文件的内容。
3、blob类案例
例1:创建一个文本文件并另存为指定的本地路径。
$(".btn").addeventlistener("click",function(){ var txt=$(".txt").value; var array=new array(); array.push(txt); var blob=new blob(array,{ type:"text/plain" }); var url=url.createobjecturl(blob); var anode=document.createelement("a"); anode.href=url; anode.download=""; anode.click(); })
例2:实现在线的html代码执行功能。
$(".btn").addeventlistener("click",function(){ var codecOntent=$(".code").textcontent; var array=new array(codecontent.replace(/\s+\\s+/g,'\>')); var blob=new blob(array,{ type:"text/html" }); var fr=new filereader(); fr.readastext(blob,'gb2312'); fr.Onload=function(){ console.log(this.result); } var url=url.createobjecturl(blob); $(".iframe").src=url; })