HTML5之FileReader接口

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		table {
          font-family: verdana,arial,sans-serif;
          font-size:11px;
          color:#333333;
          border-width: 1px;
          border-color: #666666;
          border-collapse: collapse; /*合并边框*/
      }
      table th {
          border-width: 1px;
          padding: 8px;
          border-style: solid;
          border-color: #666666;
          background-color: #dedede;
      }
      table td {
          border-width: 1px;
          padding: 8px;
          border-style: solid;
          border-color: #666666;
          background-color: #ffffff;
      }
	</style>
</head>
<body>
	<h4>FileReader接口的方法</h4>
	<table border="1">
		<thead>
			<tr>
				<th>方法名</th>
				<th>参数</th>
				<th>描述</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>readAsBinaryString</td>
				<td>file</td>
				<td>将文件读取为二进制编码</td>
			</tr>
			<tr>
				<td>readAsText</td>
				<td>file,[encoding]</td>
				<td>将文件读取为文本</td>
			</tr>
			<tr>
				<td>readAsDataURL</td>
				<td>file</td>
				<td>将文件读取为DataURL</td>
			</tr>
			<tr>
				<td>abort</td>
				<td>none</td>
				<td>终端读取操作</td>
			</tr>
		</tbody>
	</table>
	<h4>FileReader接口事件</h4>
	<table border="1">
		<thead>
			<tr>
				<td>事件</td>
				<td>描述</td>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>onabort</td>
				<td>中断</td>
			</tr>
			<tr>
				<td>onerror</td>
				<td>出错</td>
			</tr>
			<tr>
				<td>onloadstart</td>
				<td>开始</td>
			</tr>
			<tr>
				<td>onprogress</td>
				<td>正在读取</td>
			</tr>
			<tr>
				<td>onload</td>
				<td>读取成功</td>
			</tr>
			<tr>
				<td>onloadend</td>
				<td>读取完成 ,无论成功失败</td>
			</tr>
		</tbody>
		
	</table>

	<h4>FileReader接口的使用</h4>
	<div>
		<label>请选择一个文件: </label>
		<br>
		<input type="file" id="file">
		<input type="button" name="" value="读取图像" οnclick="readAsDataURL()">
		<input type="button" name="" value="读取二进制数据" οnclick="readAsBinaryString()">
		<input type="button" name="" value="读取文本文件" οnclick="readAsText()">
	</div>
	<div id="result" name="result">
		
	</div>
</body>
<script type="text/javascript">
	
	var file = document.getElementById('file');
	var result = document.getElementById('result')
	//判断浏览器是否支持FileReader接口
	if(typeof FileReader == 'undefined'){
		result.innerHTML = '<p>你的浏览器不支持FileReader接口!</p>'
		//让选择控件不可操作
		file.setAttribute('disabled', 'disabled')
	}


	//读取为DataURL
	function readAsDataURL(){
		//检验是否为图片文件
		var file = document.getElementById('file').files[0];
		if(!/image\/\w+/.test(file.type)){
			alert('请上传正确格式的图片')
			return false 
		}


		var reader = new FileReader();
		reader.readAsDataURL(file);
		// console.log(reader.readAsDataURL(file))
		reader.οnlοad=function(e){
			var result = document.getElementById('result')
			result.innerHTML='<img src="'+this.result+'" alt="">'
		}
	}

	//读取为二进制编码
	function readAsBinaryString(){
		var file = document.getElementById('file').files[0]
		var reader = new FileReader()
		reader.readAsBinaryString(file)
		reader.οnlοad=function(f){
			console.log(f)
			var result = document.getElementById('result')
			result.innerHTML=this.result
		}
	}


	//将文件读取为文本
	function readAsText(){
		var file = document.getElementById('file').files[0]
		var reader = new FileReader()
		reader.readAsText(file)
		reader.onload = function(e){
			var result = document.getElementById('result')
			result.innerHTML = this.result
		}
	}

</script>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值