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实现一款模仿iphone样式的注册表单
Mar 20 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
Jun 16 HTML / CSS
CSS3 mask 遮罩的具体使用方法
Nov 03 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
Apr 10 HTML / CSS
使用phonegap播放音频的实现方法
Mar 31 HTML / CSS
Html5跳转到APP指定页面的实现
Jan 14 HTML / CSS
Html5定位终极解决方案
Feb 05 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
Apr 08 HTML / CSS
Html5在手机端调用相机的方法实现
May 13 HTML / CSS
详解HTML5布局和HTML5标签
Oct 26 HTML / CSS
Html5调用企业微信的实现
Apr 16 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入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
python怎么判断模块安装完成
2020/06/19 Python
django教程如何自学
2020/07/31 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
中专三年学习的个人自我评价
2013/12/12 职场文书
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
法人授权委托书
2014/04/03 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
校运会班级霸气口号
2015/12/24 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
muduo TcpServer模块源码分析
2022/04/26 Redis