网站上的qq如何做悬浮,高端网站建设 炫酷,现在流行做网站吗,读书网站如何做2019独角兽企业重金招聘Python工程师标准 参考文章 html5之FileReader接口 http://zhangyaochun.iteye.com/blog/1487900 1、FileReader接口的作用#xff1a; 用来把文件读入内存#xff0c;并且读取文件中的数据。 2、支持情况 FF3.6| Chrome6 Js代码 /*… 2019独角兽企业重金招聘Python工程师标准 参考文章 html5之FileReader接口 http://zhangyaochun.iteye.com/blog/1487900 1、FileReader接口的作用 用来把文件读入内存并且读取文件中的数据。 2、支持情况 FF3.6| Chrome6 Js代码 /*检测方式*/ if(typeof FileReader undefined){ //不支持 }else{ //支持 } 3、FileReader接口的方法 readAsBinaryString(file) ------ 将文件读取二进制码 通常我们将它传送到后端后端可以通过这段字符串存储文件 readAsText(file,[encoding]) ------ 将文件读取文本 第二个参数是 文本的编码方式默认UTF-8 readAsDataURL(file) ------ 将文件读取为DataURL将文件读取为一串Data URL字符串将小文件以一种特殊格式的URL地址直接读入页面。 小文件指图像与html等格式的文件 abort() ------- 中断读取操作 4、FileReader接口的事件 onabort ---------数据读取中断时触发onerror ---------数据读取出错时触发onloadstart --------数据读取开始时触发onprocess --------数据读取中onload --------数据读取成功完成时触发onloadend --------数据读取完成时触发无论成功失败 http://lucifinilhades.iteye.com/blog/1197826 HTML5文件 ?xml version1.0 encodingUTF-8?
!DOCTYPE html
html xmlnshttp://www.w3.org/1999/xhtml langzh-cn dirltrheadmeta charsetUTF-8 /titleHTML5 Filesystem API Demo/titlescript typetext/javascript src../js/jquery-1.7.1.min.js/scriptscript typetext/javascript src../js/fileReader.js/script/headbodyheaderh1HTML5文件API示例/h1/headersectionform idfilelist_sample namefilelist_samplelabel forselectFiles请选择文件可多选/labelinput typefile nameselectFiles idselectFiles multiplemultiple/ button typebutton idshowInfoBtn nameshowInfoBtn显示文件信息/buttonbr/ button typebutton idtxtBtn nametxtBtn测试 readAsText/button button typebutton idbinBtn namebinBtn测试 readAsBinaryString/button button typebutton idurlBtn nameurlBtn测试 readAsDataURL/button /formdiv idfileContent/divfootertable idinfocaption文件信息/captiontheadtrthID/thth文件名/thth文件类型/thth文件大小KB/thth最后修改日期/th/tr/theadtfoottrth合计/ththmeter idcount value0 min0 max100/meter/th th/th thmeter idsum value0 min0 0/meter/th thbutton typebutton idclearBtn清除信息/button/th /tr/tfoot/table/footer/sectionfooterdiv idconsole/div/footer /body
/html fileReader.js文件如下 //typeof Fileif(typeof FileReader undefined) {alert(您的浏览器未实现FileReader接口);
}//给jQuery提供访问FileList对象的功能
jQuery.fn.files function() {return this[0].files;
};//“显示文件信息”按钮的click事件代码
$(function() {$(#showInfoBtn).click(function(event) {$(#clearBtn).click();var fileObjs $(#selectFiles).files();var sum 0, count 1;var tbody $(tbody);for ( var index 0; index fileObjs.length; index) {$(tr).append($(td).append(meter).val(count).text(count)).append($(td).text(fileObjs[index].name)).append($(td).text(fileObjs[index].type)).append($(td).append($(meter).val(fileObjs[index].size).text(fileObjs[index].size / 1024))).append($(td).text(fileObjs[index].lastModifiedDate)).appendTo(tbody);sum fileObjs[index].size;count;}$(tdmeter, #sum).attr(max, 5 * 1024 * 1024);$(#infothead).after(tbody);$(#count).attr(max, 10).val(fileObjs.length).text(fileObjs.length);$(#sum).val(sum).text(sum / 1024);});
});$(function() {$(#clearBtn).click(function(event) {$(#infotbody, #fileContent, #console).empty();$(#count, #sum).val(0).text(0);});
});//三个按钮的click事件代码
$(function() {$(#txtBtn).click(function(event) {$(#selectFiles).readAsText(handler);//$(#selectFiles).readAsText($(#selectFiles).files(),UTF-8);});$(#binBtn).click(function(event) {$(#selectFiles).readAsBinaryString(handler);});$(#urlBtn).click(function(event) {$(#selectFiles).readAsDataURL(handler);});
});//传入的事件处理器函数代码var createTag function(txt) {$(#console).append($(span).text(txt).after(br/));};var handler {load : function(event) {createTag(this is FileReaders onload event.);$(p).append(event.target.result).appendTo(#fileContent);},loadStart : function(event) {createTag(this is FileReaders onloadstart event.);},loadEnd : function(event) {createTag(this is FileReaders onloadend event.);},abort : function(event) {createTag(this is FileReaders onabort event.);},error : function(event) {createTag(this is FileReaders onerror event.);},progress : function(event) {createTag(this is FileReaders onprogress event.);}};var getFileReader function(handler) {var reader new FileReader();//var reader FileReader(handler);reader.onloadstart handler.loadStart;reader.onprogress handler.progress;reader.onload handler.load;reader.onloadend handler.loadEnd;reader.onabort handler.abort;reader.onerror handler.error;return reader;};jQuery.fn.readAsText function(handler, encoding) {if (typeof encoding undefined) {encoding UTF-8;}var files this.files();var reader null;for ( var i 0; i files.length; i) {//alert(files[i].name);reader getFileReader(files[i]);if (!/text\/\w/.test(files[i].type)) {reader.onloadcreateTag(Loading ... files[i].name);reader.loadEndcreateTag(Loading have End! files[i].name);} else {reader.onloadcreateTag(Loading ... files[i].name);reader.readAsText(files[i], encoding);alert(reader.result);$(#fileContent).append($(span files[i].name br reader.result br/));reader.loadEndcreateTag(Loading have End! files[i].name);}}return this;
};jQuery.fn.addText function(txt) {var createTag function(txt) {$(#console).append($(span).text(txt).after(br/));}
};jQuery.fn.readAsBinaryString function(handler) {var files this.files();var reader null;for ( var i 0; i files.length; i) {reader getFileReader(handler);reader.readAsBinaryString(files[i]);}return this;
};jQuery.fn.readAsDataURL function(handler) {var files this.files();var reader null;var imageHandler function(event) {$(img).attr(src, event.target.result).appendTo(#fileContent);};for ( var i 0; i files.length; i) {reader getFileReader(handler);if (!/image\/\w/.test(files[i].type)) {reader.readAsDataURL(files[i]);} else {reader.onload imageHandler;reader.readAsDataURL(files[i]);}}return this;
}; 在不同的浏览器测试效果不同特别是 测试readAsText 火狐12.0测试效果最佳 Opera 12.00 beta 测试截图 Chrome 19测试截图 转载于:https://my.oschina.net/u/559991/blog/60310