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实现的几个小loading效果
Sep 27 HTML / CSS
css3使网页、图片变成灰色兼容大多数浏览器
Jul 02 HTML / CSS
一款基于css3的列表toggle特效实例教程
Jan 04 HTML / CSS
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
Mar 17 HTML / CSS
详解HTML5中的标签
Jun 19 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
Mar 18 HTML / CSS
整理HTML5移动端开发的常用触摸事件
Apr 15 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
Jan 09 HTML / CSS
基于Html5实现的语音搜索功能
May 13 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
html解决浏览器记住密码输入框的问题
May 07 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定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
linux系统都有哪些运行级别
2016/03/26 面试题
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
小学重阳节活动总结
2015/03/24 职场文书
国庆节主题班会
2015/08/15 职场文书
python实现简单的井字棋
2021/05/26 Python
sql中mod()函数取余数的用法
2021/05/29 SQL Server
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
springboot如何初始化执行sql语句
2021/06/22 Java/Android
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
Python中三种花式打印的示例详解
2022/03/19 Python
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL
Hive常用日期格式转换语法
2022/06/25 数据库