废话不多说了,说一下今天给大家分享的是 html5上传图片。我们是在移动端使用的,但是这个 在P c上也通用兼容性我只在 谷歌 测试过。之前一直用的 Angular 写的《用HTML5的File API做上传图片预览能》。今天摒弃angular的东西分享一个html5 + js 图片上传案例。那么今天还是按照一定的步骤来讲吧。
HTML 第一步创建html,我们在页面中放置一个文件选择的input # upload(PS:偷懒一下,这里就不再次写案例了直接复制的我们的页面)
<p class="con4"> <span class=" BT n upload">上传<input ty PE ="file" class="upload_pic" id="upload" /></span> </p>
CSS 注:css 写的有些乱哈,看不懂的可以问我, 或者 直接自己写一下就ok。
CSS Code复制内容到剪贴板
con{
width: %;
h ei ght: auto;
overflow: hidden;
m arg in: % auto auto;
color: #FFFFFF;
}
con .btn{
width: %;
height: px;
line-height: px;
text-align: center ;
background: #dbc;
dis play : block;
font- Size: px;
border-radius: px;
}
upload{
float: left;
pos IT ion: 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 === 'un define d'){
//result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
input. setattribute ('disabled','disabled');
}else{
input.addEventListener('change',rea DF ile,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的方法和事件
以上就是Html5上传图片 移动端、PC端的通用代码分享的详细内容,更多请关注其它相关文章!
总结
以上是 为你收集整理的 Html5上传图片 移动端、PC端的通用代码分享 全部内容,希望文章能够帮你解决 Html5上传图片 移动端、PC端的通用代码分享 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于Html5上传图片 移动端、PC端的通用代码分享的详细内容...