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,js)
Dec 12 HTML / CSS
CSS3轻松实现清新 Loading 效果的简单实例
Jun 06 HTML / CSS
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
Aug 24 HTML / CSS
HTML5混合开发二维码扫描以及调用本地摄像头
Dec 27 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
Jan 30 HTML / CSS
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
Apr 25 HTML / CSS
html5记忆翻牌游戏实现思路及代码
Jul 25 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
使用Html5中的cavas画一面国旗
Sep 25 HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
PHP中的extract的作用分析
2008/04/09 PHP
php 中英文语言转换类
2011/09/07 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
js数据类型检测总结
2018/08/05 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
微信小程序事件流原理解析
2019/11/27 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
python开发之for循环操作实例详解
2015/11/12 Python
python交互式图形编程实例(三)
2017/11/17 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python ---lambda匿名函数介绍
2019/03/13 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
数控专业个人求职信范文
2014/02/05 职场文书
团代会闭幕词
2015/01/28 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python