视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Html5上传图片移动端、PC端的通用代码分享
2020-11-27 15:11:42 责编:小采
文档
这篇文章主要介绍了Html5上传图片 移动端、PC端通用代码的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

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

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

  1. <p class="con4"> 
     <span class="btn upload">上传<input type="file" class="upload_pic" id="upload" /></span> 
    </p>

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

CSS Code复制内容到剪贴板
con{ 
 width: %; 
 height: auto; 
 overflow: hidden; 
 margin: % auto auto; 
 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复制内容到剪贴板
//获取上传按钮 
var input = document.getElementById("upload"); 
if(typeof FileReader==='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复制内容到剪贴板
function readFile(){ 
 var file = this.files[]; 
 if(!/image\/\w+/.test(file.type)){ 
 alert("文件必须为图片!"); 
 return false; 
 } 
 var reader = new FileReader(); 
 reader.readAsDataURL(file); 
 //当文件读取成功便可以调取上传的接口,想传哪里传哪里(PS: 你们可以把你们的靓照偷偷发给我!) 
 reader.onload = function(e){ 
 var data = this.result.split(','); 
 var tp = (file.type == 'image/png')? 'png': 'jpg'; 
 var a = data[]; 
 //需要上传到服务器的在这里可以进行ajax请求 
 ... ... 
 } 
};

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

下载本文
显示全文
专题