zoukankan      html  css  js  c++  java
  • HTML5中File对象初探

    <script type="text/javascript">
    /*var inputFile=document.getElementById('input');
    inputFile.addEventListener('change',handF,false);
    function handF(){
    	var fileList=this.files;
    	for(var i=0;i<fileList.length;i++){
    		console.log(fileList[i])
    	}
    }*/
    var drapbox=document.getElementById('drapbox');
    drapbox.addEventListener('dragenter',dragenter,false);//进入
    drapbox.addEventListener('dragover',dragover,false);//进入与离开之间
    drapbox.addEventListener('drop',drop,false);//释放鼠标
    
    function dragenter(e){
    	e.stopPropagation();
    	e.preventDefault();
    
    }
    function dragover(e){
    	e.stopPropagation();
    	e.preventDefault();
    }
    function drop(e){
    	e.stopPropagation();
    	e.preventDefault();
    	var dt=e.dataTransfer;
    	var files=dt.files;//获取的是files(对象)集合
    	//alert(files)
    	//如何获取文件内容 
    	//处理这个对象 
    	handleFiles(files)
    }
    
    function handleFiles(files){//参数是需要处理的文件对象集合
    	for(var i=0;i<files.length;i++){
    		var file=files[i];
    		var imageType=/image.*/;//图片格式正则 
    		//判断不满足合适的跳过 
    		if(!file.type.match(imageType)){
    			alert('格式错误');
    		}
    		var img=document.createElement('img');
    		img.file=file;
    		drapbox.appendChild(img);
    		
    		//读取文件信息 
    		var reader=new FileReader();
    		reader.onload=(function(amg){
    			return function(e){
    				amg.src=e.target.result;
    			}
    		})(img)
    		reader.readAsDataURL(file)
    		
    		
    		//读取文件的二进制源码
    		var fileBinary=file.getAsBinary()
    	}
    	
    }
    //以上获取文件对象  读取文件内容
    //以下是同后台交互 将读取到的文件发送到后端 原理是通过fileReader 的readAsBinaryString读取到文件的二进制 然后通过AJAX和sendAsBinary将其发送出去 
    </script>

    参考地址:http://www.jsmix.com/blog/html5/html5-file-pre-test.html
  • 相关阅读:
    CentOS7使用firewalld打开关闭防火墙与端口
    SELinux: Could not downgrade policy file
    CentOS 安装 semanage 命令
    漏洞: RHSA2017:3075: wget security update
    CentOS7增加或修改SSH端口号
    gnl's not lao 道德经 英文版
    当代 IT 大牛排行榜
    当代 IT 大牛排行榜
    2008 年个人回忆与总结
    Patch2 for NetBeans IDE 6.5 Now Available
  • 原文地址:https://www.cnblogs.com/xiaomier/p/3179717.html
Copyright © 2011-2022 走看看