<!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>
HTML5之FileReader接口
最新推荐文章于 2023-07-08 16:42:34 发布