1、FileReader概述
FileReader 物件允許Web應用程式非同步讀取儲存在使用者電腦上的檔案(或原始資料緩衝區)的內容,使用File
或Blob
物件指定要讀取的檔案或資料。
其中File物件可以是來自使用者在一個d5fd7aea971a85678ba271703566ebfd
元素上選擇檔案後傳回的FileList
物件,也可以來自拖曳操作產生的DataTransfer
物件,也可以是來自在一個HTMLCanvasElement
上執行mozGetAsFile()方法後傳回結果
。
2、FileReader介面方法
#方法名稱 | 參數 | 描述 |
#readAsBinaryString | ||
##file | ||
readAsText | file,[encoding] | |
##readAsDataURL | file 將檔案讀取為DataURL |
|
readAsArrayBuffer | file | 將檔案讀取為 | ArrayBuffer物件
3、FileReader介面事件 | |
事件 | |
#描述 | |
資料讀取中斷時觸發 | |
資料讀取出錯時觸發 | |
資料讀取開始時觸發 | |
資料讀取中
onload
#資料讀取成功完成時觸發
####onloadend############資料讀取完成時觸發,無論成功失敗################# # ###### ###### ###### ####### ###### ####### ######4、使用實例###<!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Html5Test</title> </head> <body> <article> <header></header> <section> <p> <lable>请选择一个文件:</lable> <input type="file" id="file_reader"> <input type="button" value="读取图像" onclick="readAsDataUrl();"> <input type="button" value="读取二进制数据" onclick="readAsBinaryString();"> <input type="button" value="读取文本文件" onclick="readAsText();"> </p> <p id="file_reader_result" name="file_reader_result"> <!-- 这里用来显示读取结果 --> </p> <script> var file_reader_result = document.getElementById("file_reader_result"); // 检测浏览器是否支持FileReader if (typeof FileReader == "undefined") { file_reader_result.innerHTML = "您的浏览器不支持FileReader"; file.setAttribute('disabled', 'disabled'); } // 将文件以Data Url形式读入页面 function readAsDataUrl(){ // 检查是否为图像文件 var f = document.getElementById("file_reader").files[0]; if (!/image\/\w+/.test(f.type)) { file_reader_result.innerHTML = "请上传图片文件!"; return false; }; var reader = new FileReader(); // 将文件以Data Url形式读入页面 reader.readAsDataURL(f); reader.onload = function(e){ file_reader_result.innerHTML = '<img src="' + this.result + '" alt="图片" />'; } } // 将文件以二进制形式读入页面 function readAsBinaryString(){ // 检查是否为图像文件 var f = document.getElementById("file_reader").files[0]; if (!/image\/\w+/.test(f.type)) { file_reader_result.innerHTML = "请上传图片文件!"; return false; }; var reader = new FileReader(); // 将文件以二进制形式读入页面 reader.readAsBinaryString(f); reader.onload = function(e){ file_reader_result.innerHTML = this.result; } } // 将文件以文本形式读入页面 目前测试仅支持txt文件 function readAsText(){ // 检查是否是文本文件 var f = document.getElementById("file_reader").files[0]; if (!/text\/\w+/.test(f.type)) { file_reader_result.innerHTML = "请上传文本文件!"; return false; }; var reader = new FileReader(); // 将文件以文本形式读入页面 reader.readAsText(f); reader.onload = function(e){ file_reader_result.innerHTML = this.result; } } </script> </section> </article> </body> </html>
以上是HTML5 FileReader介面的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!