H5利用FileReader上传图片

1. Html部分
<h2>文件上传演练</h2>
    <div id="result"> 
      <!-- 这里用来显示读取结果 --> 
      <div id="inResult">
        <div id="inImgs"></div>
       <div id="imgInfo"></div>
      </div>
    </div>
    
    <input type="text" id="txtImgSrc" /><!--显示图片信息-->
    <input type="button" id="btnRemove" />
    <button id="btnBrowse" onClick="onFile()">Browse...</button>
    <input type="file" id="file_input" />

2. JS部分
<script type="text/javascript">
    var result = document.getElementById("result");
    var input = document.getElementById("file_input");
	var inResult = document.getElementById('inResult');
    
    if(typeof FileReader === 'undefined'){
        result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
        input.setAttribute('disabled','disabled');
    }else{
        input.addEventListener('change',readFile,false);
    }
   function onFile(){
	   document.getElementById('file_input').click(); //打开<input type="file" id="file_input" />
	   }             
                
   function readFile(){
        var file = this.files[0];
		var fsize = parseInt((file.size)/1024); //计算图片大小,默认是B,转换成KB
        if(!/image\/\w+/.test(file.type)){
            alert("请确保文件为图像类型");
            return false;
        }
        var reader = new FileReader();
        reader.readAsDataURL(file);
        
        reader.onload = function(e){
            //alert(this.result);
            inImgs.innerHTML = '<img src="'+this.result+'" alt="" width="198px" height="250px" id="img"/>'; //显示图片
			var arr = input.value.split('\\'); //分割图片路径
			document.getElementById('result').style.display="block";
			document.getElementById('txtImgSrc').value = arr[arr.length-1]; //取数组最后部分 - 图片名字.jpg
			document.getElementById('imgInfo').innerHTML = arr[arr.length-1]+"<br/>("+fsize+"kb)"; //显示图片名字加图片大小
		
        }
    }
</script>

3.图片测试


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值