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的新特性介绍
Oct 31 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
Jun 13 HTML / CSS
CSS3打造磨砂玻璃背景效果
Sep 28 HTML / CSS
css3实现可拖动的魔方3d效果
May 07 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
Mar 13 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
Apr 17 HTML / CSS
做一个能自适应高度的textarea的示例代码
Sep 06 HTML / CSS
HTML5 SEO优化的一些建议
Aug 27 HTML / CSS
纯CSS实现酷炫的霓虹灯效果
Apr 13 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
Sony CFR 320 修复改造
2020/03/14 无线电
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
python中文乱码的解决方法
2013/11/04 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
详解Python中with语句的用法
2015/04/15 Python
python树莓派红外反射传感器
2019/01/21 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
公司庆典欢迎词
2015/01/26 职场文书
党支部工作总结2015
2015/04/01 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书