--- 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) ---
{{APIRef}}

在中止读取时会触发 abort 事件: 例如程序调用{{domxref("FileReader.abort()")}}.

Bubbles No
可取消 No
接口 {{domxref("ProgressEvent")}}
事件处理属性 {{domxref("FileReader.onabort")}}

例子

实例

HTML

<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>

JS

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")}}

另请参见