- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTML5图片拖拽预览原理及实现
HTML5图片拖拽预览原理及实现
一、前言
这两天恰好有一位同事问我怎样做一个图片预览功能。作为现代人的我们首先想到的当然是HTML5啦,其实HTML5做图片预览已经是一个老生常谈的问题了。我在这里就简单说说其中相关的一些东西,当然会附上我们的源码。在 HTML5 之前我们做图片预览主流做法有两种,第一种是通过 Flash 插件来做预览,第二种是 Ajax 实现的假预览,也就是说选择图片文件后,图片其实已经异步上传到服务器,服务器处理后返回图片路径,前端得到响应结果做出处理从而使图片显示在界面上。而有了 HTML5 之后就可以强烈鄙视上面两种做法了。
二、FileReader
要做图片预览功能,就不得不介绍一下 FileReader,顾名思义,它是用来读取文件的。当然新东西总会有一些顽固派排斥的,我们先来看看其兼容性如何(这不是本文讨论的重点)。
PC端兼容列表
移动端兼容列表
兼容性的话大家根据自己的需求参考一下上面的对照表,我们接着来看看 FileReader 的几个常用属性和常用方法
属性
FileReader.onload 读取完成
FileReader.result 读取结果
FileReader.error 读取错误
FileReader.readyState 前文档的状态
方法
FileReader.abort() 中断读取-无参数
FileReader.readAsArrayBuffer(file) 将文件读取为ArrayBuffer 对象 参数:文件
FileReader.readAsBinaryString(file) 将文件读取为二进制码 - 参数:文件
FileReader.readAsDataURL(file) 将文件读取为DataURL 参数:文件
FileReader.readAsText(file) 将文件读取为文本 参数:文件
废话不多说,我们通过代码来更直观点认识上面的属性和方法。回归到需求,做一个图片预览功能。首先理一理我们需要有的东西,第一要素当然是文件(文件选择器),第二当然是预览(容器)。
html 代码 (样式我顺手加上了)
复制代码
!DOCTYPE html
html
head
titleCboyce-HTML5图片预览/title
style type=text/css
/*主容器*/
.container{
width: 90%;
margin-top: 20px;
}
/*图片预览容器*/
.container .img-prev-container{
width: 200px;
height: 100px;
margin:10px auto;
border:1px solid #ccc;
}
/*预览图片样式*/
.container .img-prev-container img{
width: 100%;
height: 100%;
}
/style
/head
body
div class=container
div class=img-prev-container
/div
input type=file value=请选择图片 id=fileSelecter /
/div
/body
/html
复制代码
接下来该 FileReader 出场了
复制代码
window.onload = function(){
//触发 change 事件
GetDomById(fileSelecter).onchange = function(event){
//获取文件对象
var file = event.target.files[0];
//创建reader对象
var reader = new FileReader();
//读取完成后触发
reader.onload = function(ev){
//获取图片的url
var _img_src = ev.target.result;
console.log(_img_src)
//添加预览
您可能关注的文档
- 2015东北三省四市三模地理试题及答案word版本.doc
- 2015届北京高考之有机推断题汇总.doc
- 2015届高考地理二轮复习练习方法一图解法.doc
- 2015学业水平测试无机框图推断专题复习.doc
- 2015工业流程图型推断题2.doc
- 2015年6月八年级试卷(第4稿).doc
- 2015年“敬老月”活动方案.doc
- 2015初中生物模拟试题.doc
- 2015年上海市高校计算机一级考试理论题8套附答案.doc
- 2015年6月南山区八年级期末统考试卷.doc
- 2025年上市公司财务指标与财务报告影响力对比分析报告.docx
- 2025年交通管理ARVR模拟训练研究报告.docx
- 2025年亚马逊跨境电商平台产品推广渠道拓展报告.docx
- 2025年人工智能伦理与法律规范策略规划研究报告.docx
- 2025年人工智能伦理行业标准制定与人工智能行业伦理监督机制.docx
- 2025年亚马逊跨境电商数据分析与运营优化策略报告.docx
- 2025年人工智能伦理审查机制与行业标准解读.docx
- 《在线教育平台互动功能对学生学习行为的影响机制与干预策略》教学研究课题报告.docx
- 2025年人工智能在智慧城市交通管理中的应用风险评估报告.docx
- 2025年人工智能伦理行业标准制定与知识产权保护.docx
文档评论(0)