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混合模式mix-blend-mode/background-blend-mode简介
Mar 15 HTML / CSS
CSS3 圆角效果
Jul 15 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
Aug 11 HTML / CSS
CSS3制作炫酷的自定义发光文字
Mar 28 HTML / CSS
CSS3田字格列表的样式编写方法
Nov 22 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 HTML / CSS
HTML5的download属性详细介绍和使用实例
Apr 23 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
Dec 03 HTML / CSS
详解HTML5中的picture元素响应式处理图片
Jan 03 HTML / CSS
做一个能自适应高度的textarea的示例代码
Sep 06 HTML / CSS
HTML5 FileReader对象的具体使用方法
May 22 HTML / CSS
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
Apr 13 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
php中explode与split的区别介绍
2012/10/03 PHP
帝国cms常用标签汇总
2015/07/06 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
python实现的阳历转阴历(农历)算法
2014/04/25 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
Python内置类型性能分析过程实例
2020/01/29 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
中专毕业生自荐信
2013/11/16 职场文书
初中校园广播稿
2014/02/02 职场文书
文明班集体申报材料
2014/05/23 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
java设计模式--三种工厂模式详解
2021/07/21 Java/Android