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
  • 相关阅读:
    非常抱歉,全站内容审核中...
    jS代码总结(2)
    timestamp(数据库中的数据类型)
    jS代码总结(1)
    TextWriterTraceListener 和设计时属性支持文件xmta
    validating和validated的区别
    IoC和控制反转
    wince BindingSource
    简单网络传递加密数据
    C#不对称加密
  • 原文地址:https://www.cnblogs.com/xiaomier/p/3179717.html
Copyright © 2011-2022 走看看