FileReader abort 事件
abort 事件會在 FileReader 讀取資料中斷時觸發,比如呼叫abort() 方法。
關於事件處理函式註冊,可以參閱如何註冊事件處理函式一章節。
FileReader 更多內容參閱 JavaScript FileReader 一章節。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> var h = { init: function () { var _this = this; document.getElementById("File").onchange = _this.fileHandler; document.getElementById("Abort").onclick = _this.abortHandler; _this.status = document.getElementById("Status"); _this.progress = document.getElementById("Progress"); _this.percent = document.getElementById("Percent"); _this.loaded = 0; //每次讀取1M _this.step = 1024 * 1024; _this.times = 0; }, fileHandler: function (e) { var _this = h; _this.file = this.files[0]; _this.reader = new FileReader(); _this.total = _this.file.size; _this.reader.onloadstart = _this.onLoadStart; _this.reader.onprogress = _this.onProgress; _this.reader.onabort = _this.onAbort; _this.reader.onerror = _this.onerror; _this.reader.onload = _this.onLoad; _this.reader.onloadend = _this.onLoadEnd; //讀取第一塊 _this.readBlob(0); }, readBlob: function (start) { var _this = h; var blob, file = _this.file; _this.times += 1; blob = file.slice(start, start + _this.step + 1); _this.reader.readAsText(blob); }, onLoadStart: function () { var _this = h; }, onProgress: function (e) { var _this = h; _this.loaded += e.loaded; //更新進度條 _this.progress.value = (_this.loaded / _this.total) * 100; }, onAbort: function () { var _this = h; console.log("讀取中斷"); }, onError: function () { var _this = h; }, onLoad: function () { var _this = h; if (_this.loaded < _this.total) { _this.readBlob(_this.loaded); } else { _this.loaded = _this.total; } }, onLoadEnd: function () { var _this = h; }, abortHandler: function () { var _this = h; if (_this.reader) { _this.reader.abort(); } } }; window.onload = function () { h.init(); } </script> </head> <body> <form> <fieldset> <legend>分度讀取檔案:</legend> <input type="file" id="File" /> <input type="button" value="中斷" id="Abort" /> <p> <label>讀取進度:</label> <progress id="Progress" value="0" max="100"></progress> </p> <p id="Status"></p> </fieldset> </form> </body> </html>
為了測試方便,找一個大一點的檔案上傳,然後點選中斷按鈕。
於是 bort 事件觸發,進而列印出對應字串,程式碼執行效果截圖:
點選中斷按鈕之後觸發 click 事件,進而執行事件處理函式中的 abort()方法,中斷讀取。
於是觸發 abort 事件,進而執行對應事件處理函式,列印出上述內容。
相關文章
- FileReader 事件事件
- XMLHttpRequest abort 事件XMLHTTP事件
- JavaScript abort事件JavaScript事件
- FileReader error 事件Error事件
- FileReader 事件用法事件
- FileReader loadstart 事件事件
- XMLHttpRequest abort()XMLHTTP
- JavaScript FileReaderJavaScript
- FileReader 解析
- abort函式函式
- abort()函式函式
- FileReader readAsText()AST
- 3.3.5 使用Abort模式模式
- FileReader result 屬性
- FileReader error 屬性Error
- Fetch 實現 abort
- FileReader readyState 屬性
- Thread.Abort()的陷阱thread
- FileReader.readyState 屬性
- 用whistle實現Abort請求
- C語言中的abort函式C語言函式
- HTML5之FileReader的使用HTML
- BufferedReader、FileReader、FileInputStream的區別
- [轉帖]XACT_ABORT 的問題
- HTML5進階FileReader的使用HTML
- web前端圖片上傳(3)–filereaderWeb前端
- IO流 檔案字元流FileReader、FlieWriter字元
- Java I/O 教程(九) FileWriter和FileReaderJava
- java中FileInputStream,FileReader等的區別Java
- iOS Abort問題系統性解決方案iOS
- Software caused connection abort: socket write error/mysql/tomcatErrorMySqlTomcat
- FileReader()讀取檔案、圖片上傳預覽
- 使用TortoiseHg克隆遠端目錄報錯"abort: Access is denied"
- srvctl stop database超過60秒會abort資料庫Database資料庫
- 程式流程的控制 Abort Exit Halt RunError Continue Break SleepError
- FileReader初步使用實現上傳圖片預覽效果
- Java 用FileReader 和 FileWriter 進行檔案讀寫(txt) (Java
- 開發:異常收集之 Software caused connection abort: recv failedAI