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 相关文章推荐
a标签的css样式四个状态
Mar 09 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 HTML / CSS
详解HTML5 canvas绘图基本使用方法
Jan 29 HTML / CSS
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
Jul 20 HTML / CSS
html5 的a标签 Href 拨电话的写法
Nov 04 HTML / CSS
HTML5实现桌面通知 提示功能
Oct 11 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
Aug 05 HTML / CSS
HTML5 3D旋转相册的实现示例
Dec 03 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
Dec 14 HTML / CSS
纯html+css实现打字效果
Aug 02 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
CSS中使用grid布局实现一套模板多种布局
Jul 15 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
PR值查询 | PageRank 查询
2006/12/20 PHP
获取远程文件大小的php函数
2010/01/11 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
python绘制随机网络图形示例
2019/11/21 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
sort命令的作用和用法
2012/11/04 面试题
EJB timer的种类
2014/10/28 面试题
高级工程师岗位职责
2013/12/15 职场文书
保密普查工作实施方案
2014/02/25 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang