HTML5之FileReader的使用

HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。
FileReader的使用方式非常简单,可以按照如下步骤创建FileReader对象并调用其方法:
1.检测浏览器对FileReader的支持
if(window.FileReader) {
var fr = new FileReader();
// add your code here
}
else {
alert("Not supported by your browser!");
}
2. 调用FileReader对象的方法
FileReader 的实例拥有 4 个方法,其中 3 个用以读取文件,另一个用来中断读取。下面的表格列出了这些方法以及他们的参数和功能,需要注意的是 ,无论读取成功或失败,方法并不会返回读取结果,这一结果存储在 result属性中。
eadAsText:该方法有两个参数,其中第二个参数是文本的编码方式,默认值为 UTF-8。这个方法非常容易理解,将文件以文本方式读取,读取的结果即是这个文本文件中的内容。
readAsBinaryString:该方法将文件读取为二进制字符串,通常我们将它传送到后端,后端可以通过这段字符串存储文件。
readAsDataURL:这是例子程序中用到的方法,该方法将文件读取为一段以 data: 开头的字符串,这段字符串的实质就是 Data URL,Data URL是一种将小文件直接嵌入文档的方案。这里的小文件通常是指图像与 html 等格式的文件。
下面通过一个上传图片预览和带进度条上传来展示FileReader的使用。
<script type="text/javascript">
function showPreview(source) {
var file = source.files[0];
if(window.FileReader) {
var fr = new FileReader();
fr.onloadend = function(e) {
document.getElementById("portrait").src = e.target.result;
};
fr.readAsDataURL(file);
}
}
</script>
<input type="file" name="file" onchange="showPreview(this)" /> <img id="portrait" src="" width="70" height="75">
if(!/image\/\w+/.test(file.type)){
alert("请确保文件为图像类型");
return false;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# HTML5
# FileReader
# 文件上传
# 本地预览
# javascript结合fileReader 实现上传图片
# JavaScript通过filereader接口读取文件
# JS中利用FileReader实现上传图片前本地预览功能
# JS+HTML5 FileReader对象用法示例
# JavaScript html5利用FileReader实现上传功能
# 原生js FileReader对象实现图片上传本地预览效果
# JavaScript使用FileReader实现图片上传预览效果
# 基于JavaScript FileReader上传图片显示本地链接
# JS中FileReader类实现文件上传及时预览功能
# JavaScript中的FileReader示例详解
# 这段
# 的是
# 后端
# 这是
# 他们的
# 这一
# 是一种
# 出了
# 是指
# 可以通过
# 第二个
# 即是
# 将它
# 需要注意
# 上传图片
# 值为
# 大家多多
# 文本文件
# 进度条
# 文档
相关文章:
建站org新手必看:2024最新搭建流程与模板选择技巧
如何快速生成凡客建站的专业级图册?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何有效防御Web建站篡改攻击?
建站之星后台密码遗忘如何找回?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何获取免费开源的自助建站系统源码?
如何通过wdcp面板快速创建网站?
建站之星在线版空间:自助建站+智能模板一键生成方案
详解jQuery停止动画——stop()方法的使用
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何安全更换建站之星模板并保留数据?
建站上传速度慢?如何优化加速网站加载效率?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何通过西部数码建站助手快速创建专业网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
已有域名能否直接搭建网站?
如何在万网ECS上快速搭建专属网站?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何解决VPS建站LNMP环境配置常见问题?
Android自定义listview布局实现上拉加载下拉刷新功能
建站主机如何安装配置?新手必看操作指南
高端建站三要素:定制模板、企业官网与响应式设计优化
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
实例解析angularjs的filter过滤器
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何用PHP工具快速搭建高效网站?
韩国服务器如何优化跨境访问实现高效连接?
C++中引用和指针有什么区别?(代码说明)
临沂网站制作公司有哪些,临沂第四中学官网?
如何选择高效便捷的WAP商城建站系统?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何在建站之星绑定自定义域名?
购物网站制作公司有哪些,哪个购物网站比较好?
如何选择高性价比服务器搭建个人网站?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Android自定义控件实现温度旋转按钮效果
中山网站制作网页,中山新生登记系统登记流程?
建站之星免费版是否永久可用?
如何设置并定期更换建站之星安全管理员密码?
宝塔新建站点报错如何解决?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何配置IIS站点权限与局域网访问?
建站之星安装需要哪些步骤及注意事项?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站主机选购指南:核心配置与性价比推荐解析
小建面朝正北,A点实际方位是否存在偏差?
建站之星如何修改网站生成路径?
*请认真填写需求信息,我们会在24小时内与您取得联系。