首页 > 编程 > HTML > 正文

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

2020-03-24 17:44:04
字体:
来源:转载
供稿:网友
废话不多说了,说一下今天给大家分享的是 html5上传图片。我们是在移动端使用的,但是这个在pc上也通用兼容我只在谷歌测试过。之前一直用的angular写的《用HTML5的File API做上传图片预览能》。今天摒弃angular的东西分享一个html5 + js 图片上传案例。那么今天还是按照一定的步骤来讲吧。HTML第一步创建html,我们在页面中放置一个文件选择的input#upload(PS:偷懒一下,这里就不再次写案例了直接复制的我们的页面)CSS Code复制内容到剪贴板
overflow:hidden; margin:%autoauto; color:#FFFFFF; } con.btn{ width:%; height:px; line-height:px; text-align:center; background:#dbc; display:block; font-size:px; border-radius:px; } upload{ float:left; position:relative; } upload_pic{ display:block; width:%; height:px; position:absolute; left:; top:; opacity:; border-radius:px; }
Javascript通过getElementById获取节点,判断浏览器的兼容性,对于不支持FileReader接口的浏览器将给出一个提示并禁用input,否则监听input的change事件。JavaScript Code复制内容到剪贴板
//获取上传按钮 varinput=document.getElementById( upload ); if(typeofFileReader==='undefined'){ //result.innerHTML= 抱歉,你的浏览器不支持FileReader input.setAttribute('disabled','disabled'); }else{ input.addEventListener('change',readFile,false); }
然后,当file_input的change事件触发时,调用函数readFile()。在readFile中,我们首先获取file对象,然后通过file的type属性来检测文件类型,我们当然只允许选择图像类型的文件,然后我们new一个FileReader实例,并调用readAsDataURL方法来读取选中的图像文件,最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片。JavaScript Code复制内容到剪贴板
functionreadFile(){ varfile=this.files[]; if(!/image///w+/.test(file.type)){ alert( 文件必须为图片! ); returnfalse; } varreader=newFileReader(); reader.readAsDataURL(file); //当文件读取成功便可以调取上传的接口,想传哪里传哪里(PS:你们可以把你们的靓照偷偷发给我!) reader.onload=function(e){ vardata=this.result.split(','); vartp=(file.type=='image/png')?'png':'jpg'; vara=data[]; //需要上传到服务器的在这里可以进行ajax请求 ...... } };
写到这里我们已经完成了图片上传的功能了,大家有兴趣的自己动手尝试一下,不懂的地方或者我写错的地方一定要找我哦。FileReader的方法和事件html教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表