--- title: 'FileReader: 中止事件(abort)' slug: Web/API/FileReader/abort_event tags: - API - FileReader - ProgressEvent - Reference - Web - abort - 中止 - 事件 translation_of: Web/API/FileReader/abort_event original_slug: Web/API/FileReader/中止事件(abort) ---
在中止读取时会触发 abort
事件: 例如程序调用{{domxref("FileReader.abort()")}}.
Bubbles | No |
---|---|
可取消 | No |
接口 | {{domxref("ProgressEvent")}} |
事件处理属性 | {{domxref("FileReader.onabort")}} |
<div class="example"> <div class="file-select"> <label for="avatar">选择你的头像:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="图像预览..."> <div class="event-log"> <label>事件日志:</label> <textarea readonly class="event-log-contents"></textarea> </div> </div>
img.preview { margin: 1rem 0; } .event-log-contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { grid-area: log; } .event-log>label { display: block; } .event-log-contents { resize: none; }
const fileInput = document.querySelector('input[type="file"]'); const preview = document.querySelector('img.preview'); const eventLog = document.querySelector('.event-log-contents'); const reader = new FileReader(); function handleEvent(event) { eventLog.textContent = eventLog.textContent + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addListeners(reader) { reader.addEventListener('loadstart', handleEvent); reader.addEventListener('load', handleEvent); reader.addEventListener('loadend', handleEvent); reader.addEventListener('progress', handleEvent); reader.addEventListener('error', handleEvent); reader.addEventListener('abort', handleEvent); } function handleSelected(e) { eventLog.textContent = ''; const selectedFile = fileInput.files[0]; if (selectedFile) { addListeners(reader); reader.readAsDataURL(selectedFile); } reader.abort(); } fileInput.addEventListener('change', handleSelected);返回返回发的
{{ EmbedLiveSample('Live_example', '100%', '300px') }}
参数 | 状态 |
---|---|
{{SpecName('File API', '#dfn-abort-event')}} | {{Spec2('File API')}} |
{{Compat("api.FileReader.abort_event")}}