FileReader 對象允許Web應(yīng)用程序異步讀取存儲在用戶計算機上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用 File 或 Blob 對象指定要讀取的文件或數(shù)據(jù)。
屬性:
- FileReader.error 表示在讀取文件時發(fā)生的錯誤
- FileReader.readyState
- FilerReader.result 讀取到的結(jié)果
下面開始實際例子
index.html如下
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>FileReader</title>
</head>
<body>
<input id="input" type="file">
</body>
</html>
demo.txt如下
this is a demo test
hello world
讀取txt文件
<script>
const input = document.querySelector('input[type=file]')
input.addEventListener('change', ()=>{
const reader = new FileReader()
reader.readAsText(input.files[0],'utf8') // input.files[0]為第一個文件
reader.onload = ()=>{
document.body.innerHTML += reader.result // reader.result為獲取結(jié)果
}
}, false)
</script>
讀取圖片文件
<script>
const input = document.querySelector('input[type=file]')
input.addEventListener('change', ()=>{
console.log( input.files )
const reader = new FileReader()
reader.readAsDataURL(input.files[0]) // input.files[0]為第一個文件
reader.onload = ()=>{
const img = new Image()
img.src = reader.result
document.body.appendChild(img) // reader.result為獲取結(jié)果
}
}, false)
</script>