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实现的井字棋游戏
Nov 25 HTML / CSS
html5组织文档结构_动力节点Java学院整理
Jul 11 HTML / CSS
简单的HTML5初步入门教程
Sep 29 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
Dec 20 HTML / CSS
Html5实现文件异步上传功能
May 19 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
Mar 04 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
Jul 29 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
Sep 11 HTML / CSS
Html5嵌入钉钉的实现示例
Jun 04 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
Jan 14 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
Jan 22 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
Apr 22 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-fpm的配置详解
2013/06/03 PHP
php判断linux下程序问题实例
2015/07/09 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
js获取网页高度(详细整理)
2012/12/28 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
numpy排序与集合运算用法示例
2017/12/15 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
设计专业毕业生求职信
2014/06/25 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
golang实现浏览器导出excel文件功能
2022/03/25 Golang
Django中celery的使用项目实例
2022/07/07 Python