html5中IE、火狐、谷歌图片上传预览

 <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>点击上传</title>
<script src="jquery-1.9.1.js"></script>
<script>
function fileSelect(){
var e=arguments.callee.caller.arguments[0]||window.event;
var files=e.target.files;//要上传的文件列表对象 
var reg = /image\/.*/i;  //文件格式验证
var p=document.getElementById('Preview');
var ul=document.getElementById('Errors');
var myp=document.getElementById('myprogress');
for(var i=0,f;f=files[i];i++){
if(!f.type.match(reg)) {
//设置错误信息
var li=document.createElement('li');
li.innerHTML='<li>'+f.name +'不是图片文件.</li>';
ul.appendChild(li);
continue;
}else{
var reader = new FileReader();
//文件成功读取完成时触发
reader.οnlοad=(function(file){
return function(e){
var span =document.createElement('span');
span.innerHTML='<img src="'+this.result+'" alt="'+file.name+'" title="'+file.name+'" class="mypic"/>';
p.insertBefore(span,null);
};
})(f);
reader.οnprοgress=function(e){
         //更新进度条
         myprogress.value=(e.loaded/e.total)*100;  
}
/*
onerror  出错时触发
onload  文件读取成功完成时触发
onloadend  读取完成触发,无论成功或失败
onloadstart  读取开始时触发
onprogress  读取中
*/
 //读取文件内容
reader.readAsDataURL(f);
}
}
}

$(function(){
if(window.File && window.FileList && window.FileReader && window.Blob){
$("#Files").change(function(){
fileSelect();
});
     //document.getElementById('Files').addEventListener('click',fileSelect,false);
}else{
     document.write('您的浏览器不支持File Api');
   }
});
</script>
<style>
.mypic{
width:100px;
height:120px;
margin-left:10px;
border:1px solid #F60;
}
progress{
width:800px;
height:30px;
}
</style>
</head>

<body>
  <input type="file" multiple id="Files" accept="image/jpeg"/>
    <ul id="Errors">
    
    </ul>
    <div id="Preview">
    
    </div>
    <progress max="100" id="myprogress" value="0"></progress>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值