Html5上传图片 移动端、PC端通用代码


Posted in HTML / CSS onJune 08, 2016

废话不多说了,说一下今天给大家分享的是 html5上传图片。我们是在移动端使用的,但是这个在pc上也通用兼容性我只在谷歌测试过。之前一直用的angular写的《用HTML5的File API做上传图片预览能》。今天摒弃angular的东西分享一个html5 + js 图片上传案例。那么今天还是按照一定的步骤来讲吧。

Html5上传图片 移动端、PC端通用代码

 HTML 第一步创建html,我们在页面中放置一个文件选择的input#upload(PS:偷懒一下,这里就不再次写案例了直接复制的我们的页面)

CSS Code复制内容到剪贴板
  1. <div class="con4">     
  2.  <span class="btn upload">上传<input type="file" class="upload_pic" id="upload" /></span>     
  3. </div>     

CSS注:css 写的有些乱哈,看不懂的可以问我,或者直接自己写一下就ok。

CSS Code复制内容到剪贴板
  1. con{      
  2.      width: %;      
  3.      heightauto;      
  4.      overflowhidden;      
  5.      margin: % auto  auto;      
  6.      color#FFFFFF;      
  7. }      
  8. con .btn{      
  9.      width: %;      
  10.      height: px;      
  11.      line-height: px;      
  12.      text-aligncenter;      
  13.      background#dbc;      
  14.      displayblock;      
  15.      font-size: px;      
  16.      border-radius: px;      
  17. }      
  18. upload{      
  19.      floatleft;      
  20.      positionrelative;      
  21. }      
  22. upload_pic{      
  23.      displayblock;      
  24.      width: %;      
  25.      height: px;      
  26.      positionabsolute;      
  27.      left: ;      
  28.      top: ;      
  29.      opacity: ;      
  30.      border-radius: px;      
  31. }     

Javascript 

通过getElementById获取节点,判断浏览器的兼容性,对于不支持FileReader接口的浏览器将给出一个提示并禁用input,否则监听input的change事件。

JavaScript Code复制内容到剪贴板
  1. //获取上传按钮      
  2. var input = document.getElementById("upload");       
  3. if(typeof FileReader==='undefined'){       
  4.      //result.innerHTML = "抱歉,你的浏览器不支持 FileReader";       
  5.      input.setAttribute('disabled','disabled');       
  6. }else{       
  7.      input.addEventListener('change',readFile,false);       
  8. }  

然后,当file_input的change事件触发时,调用函数readFile()。在readFile中,我们首先获取file对象,然后通过file的type属性来检测文件类型,我们当然只允许选择图像类型的文件,然后我们new一个FileReader实例,并调用readAsDataURL方法来读取选中的图像文件,最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片。

JavaScript Code复制内容到剪贴板
  1. function readFile(){       
  2.      var file = this.files[];       
  3.      if(!/image\/\w+/.test(file.type)){       
  4.          alert("文件必须为图片!");       
  5.          return false;       
  6.      }       
  7.      var reader = new FileReader();       
  8.      reader.readAsDataURL(file);       
  9.      //当文件读取成功便可以调取上传的接口,想传哪里传哪里(PS: 你们可以把你们的靓照偷偷发给我!)      
  10.      reader.onload = function(e){       
  11.          var data = this.result.split(',');      
  12.          var tp = (file.type == 'image/png')? 'png''jpg';      
  13.          var a = data[];      
  14.          //需要上传到服务器的在这里可以进行ajax请求      
  15.          ... ...      
  16.      }      
  17. };     

写到这里我们已经完成了图片上传的功能了,大家有兴趣的自己动手尝试一下,不懂的地方或者我写错的地方一定要找我哦。 FileReader的方法和事件

Html5上传图片 移动端、PC端通用代码

HTML / CSS 相关文章推荐
css3教程之倾斜页面
Jan 27 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
css3 伪类选择器快速复习小结
Sep 10 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
Apr 10 HTML / CSS
HTML5 微格式和相关的属性名称
Feb 10 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
Jun 06 HTML / CSS
HTML最新标准HTML5总结(必看)
Jun 13 HTML / CSS
html5 canvas手势解锁源码分享
Jan 07 HTML / CSS
h5移动端调用支付宝、微信支付的实现
Jun 08 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
Oct 28 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 #HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
Jun 22 #HTML / CSS
HTML5 placeholder属性详解
Jun 22 #HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 #HTML / CSS
HTML5中的nav标签学习笔记
Jun 24 #HTML / CSS
HTML5 canvas基本绘图之绘制线段
Jun 27 #HTML / CSS
浅谈HTML5新增及移除的元素
Jun 27 #HTML / CSS
You might like
第三章 php操作符与控制结构代码
2011/12/30 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
XENON基于JSON变种
2010/07/27 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
基于python实现操作git过程代码解析
2020/07/27 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
毕业生求职的求职信
2013/12/05 职场文书
中英文求职信范文
2014/01/27 职场文书
同事吵架检讨书
2014/02/05 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
地道战观后感500字
2015/06/04 职场文书
小平小道观后感
2015/06/09 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js