abort event is fired when a read has been aborted: for instance because the program called FileReader.abort() .

冒泡 No
可取消 No
接口 ProgressEvent
事件处理程序特性 FileReader.onabort

范例

实时范例

HTML

<div class="example">
    <div class="file-select">
        <label for="avatar">Choose a profile picture:</label>
        <input type="file"
               id="avatar" name="avatar"
               accept="image/png, image/jpeg">
    </div>
    <img src="" class="preview" height="200" alt="Image preview...">
    <div class="event-log">
        <label>Event log:</label>
        <textarea readonly class="event-log-contents"></textarea>
    </div>
  </div>
					

CSS

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

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

结果

规范

规范 状态
文件 API 工作草案

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
abort event Chrome Yes Edge 12 Firefox Yes IE Yes Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes

图例

完整支持

完整支持

另请参阅

元数据

  • 最后修改: