Html5上传图片 移动端、PC端通用代码

秋天的景色真美丽,像一幅美丽的图画。

废话不多说了,说一下今天给大家分享的是 html5上传图片。我们是在移动端使用的,但是这个在pc上也通用兼容性我只在谷歌测试过。之前一直用的angular写的《用HTML5的File API做上传图片预览能》。今天摒弃angular的东西分享一个html5 + js 图片上传案例。那么今天还是按照一定的步骤来讲吧。

HTML第一步创建html,我们在页面中放置一个文件选择的input#upload(PS:偷懒一下,这里就不再次写案例了直接复制的我们的页面)

CSS Code复制内容到剪贴板
  1. <divclass="con4">
  2. <spanclass="btnupload">上传<inputtype="file"class="upload_pic"id="upload"/></span>
  3. </div>

CSS注:css 写的有些乱哈,看不懂的可以问我,或者直接自己写一下就ok。

CSS Code复制内容到剪贴板
  1. con{
  2. width:%;
  3. height:auto;
  4. overflow:hidden;
  5. margin:%autoauto;
  6. color:#FFFFFF;
  7. }
  8. con.btn{
  9. width:%;
  10. height:px;
  11. line-height:px;
  12. text-align:center;
  13. background:#dbc;
  14. display:block;
  15. font-size:px;
  16. border-radius:px;
  17. }
  18. upload{
  19. float:left;
  20. position:relative;
  21. }
  22. upload_pic{
  23. display:block;
  24. width:%;
  25. height:px;
  26. position:absolute;
  27. left:;
  28. top:;
  29. opacity:;
  30. border-radius:px;
  31. }

Javascript

通过getElementById获取节点,判断浏览器的兼容性,对于不支持FileReader接口的浏览器将给出一个提示并禁用input,否则监听input的change事件。

JavaScript Code复制内容到剪贴板
  1. //获取上传按钮
  2. varinput=document.getElementById("upload");
  3. if(typeofFileReader==='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. functionreadFile(){
  2. varfile=this.files[];
  3. if(!/image\/\w+/.test(file.type)){
  4. alert("文件必须为图片!");
  5. returnfalse;
  6. }
  7. varreader=newFileReader();
  8. reader.readAsDataURL(file);
  9. //当文件读取成功便可以调取上传的接口,想传哪里传哪里(PS:你们可以把你们的靓照偷偷发给我!)
  10. reader.onload=function(e){
  11. vardata=this.result.split(',');
  12. vartp=(file.type=='image/png')?'png':'jpg';
  13. vara=data[];
  14. //需要上传到服务器的在这里可以进行ajax请求
  15. ......
  16. }
  17. };

写到这里我们已经完成了图片上传的功能了,大家有兴趣的自己动手尝试一下,不懂的地方或者我写错的地方一定要找我哦。FileReader的方法和事件

以上就是Html5上传图片 移动端、PC端通用代码。人心本无染,心静自然清。更多关于Html5上传图片 移动端、PC端通用代码请关注haodaima.com其它相关文章!

标签: 图片 PC