首頁  >  文章  >  web前端  >  HTML5 學習FileReader介面程式碼實例分享9(圖)

HTML5 學習FileReader介面程式碼實例分享9(圖)

黄舟
黄舟原創
2017-03-13 17:27:011252瀏覽

1、FileReader概述

FileReader 物件允許Web應用程式非同步讀取儲存在使用者電腦上的檔案(或原始資料緩衝區)的內容,使用FileBlob 物件指定要讀取的檔案或資料。

其中File物件可以是來自使用者在一個d5fd7aea971a85678ba271703566ebfd元素上選擇檔案後傳回的FileList物件,也可以來自拖曳操作產生的DataTransfer物件,也可以是來自在一個HTMLCanvasElement上執行mozGetAsFile()方法後傳回結果

2、FileReader介面方法

#方法名稱 參數 描述
readAsBinaryString file 將檔案讀取為二進位碼
readAsText file,[encoding] #讀取檔案為文字

#都

##readAsDataURL

file

#將檔案讀取為DataURL

##readAsArrayBufferArrayBuffer物件 事件#onabort
file#將檔案讀取為 #abort
(none) 中斷讀取運算
     
 #3、 FileReader介面
#描述

資料讀取中斷時觸發

onerror

#資料讀取出錯時觸發


onloadstart############資料讀取開始時觸發##################onprogress##### #######資料讀取中##################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(&#39;disabled&#39;, &#39;disabled&#39;);
            }
            // 将文件以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 = &#39;<img src="&#39; + this.result + &#39;" alt="图片" />&#39;;
                }
            }
            // 将文件以二进制形式读入页面
            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介面程式碼實例分享9(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn