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简单实现照片墙
Dec 12 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
Jan 02 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
Nov 30 HTML / CSS
Canvas与图片压缩的示例代码
Nov 28 HTML / CSS
canvas离屏技术与放大镜实现代码示例
Aug 31 HTML / CSS
Html5自定义字体解决方法
Oct 09 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
Nov 04 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
Aug 05 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
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
2010/02/09 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
js 方法实现返回多个数据的代码
2009/04/30 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
python使用opencv进行人脸识别
2017/04/07 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
银行优秀员工事迹
2014/02/06 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
活动总结怎么写啊
2014/05/07 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书