FileReaderï¼error äºä»¶
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
夿³¨ï¼ æ¤ç¹æ§å¨ Web Worker ä¸å¯ç¨ã
FileReader æ¥å£ç error äºä»¶å¨ç±äºé误ï¼ä¾å¦ï¼å 为æä»¶æªæ¾å°æä¸å¯è¯»ï¼å¯¼è´è¯»å失败æ¶è§¦åã
æ¤äºä»¶ä¸å¯åæ¶ä¸ä¸ä¼å泡ã
è¯æ³
å¨ addEventListener() çæ¹æ³ä¸ä½¿ç¨äºä»¶åç§°ï¼æè®¾ç½®äºä»¶å¤çå¨å±æ§ã
addEventListener("error", (event) => {});
onerror = (event) => {};
äºä»¶ç±»å
ProgressEventãç»§æ¿èª Eventã
äºä»¶å±æ§
è¿ç»§æ¿å
¶ç¶çº§ Event ç屿§ã
ProgressEvent.lengthComputableåªè¯»-
ä¸ä¸ªå¸å°æ å¿ï¼æç¤ºåºå±è¿ç¨è¦å®æçæ»å·¥ä½é以å已宿çå·¥ä½éæ¯å¦å¯è®¡ç®ãæ¢å¥è¯è¯´ï¼å®è¡¨æè¿å±æ¯å¦å¯è¡¡éã
ProgressEvent.loadedåªè¯»-
ä¸ä¸ª 64 使 ç¬¦å·æ´æ°å¼ï¼æç¤ºåºå±è¿ç¨å·²æ§è¡çå·¥ä½éã宿工ä½çæ¯çå¯ä»¥éè¿å°
totalé¤ä»¥è¯¥å±æ§ç弿¥è®¡ç®ãä½¿ç¨ HTTP ä¸è½½èµæºæ¶ï¼ä» è®¡ç® HTTP æ¶æ¯çæ£æï¼ä¸å æ¬æ 头åå ¶ä»å¼éã ProgressEvent.totalåªè¯»-
ä¸ä¸ª 64 使 ç¬¦å·æ´æ°ï¼è¡¨ç¤ºåºå±è¿ç¨æ£å¨æ§è¡ç工使»éãä½¿ç¨ HTTP ä¸è½½èµæºæ¶ï¼è¿æ¯
Content-Lengthï¼æ¶æ¯æ£æç大å°ï¼ï¼ä¸å æ¬æ 头åå ¶ä»å¼éã
示ä¾
const fileInput = document.querySelector('input[type="file"]');
const reader = new FileReader();
function handleSelected(e) {
const selectedFile = fileInput.files[0];
if (selectedFile) {
reader.addEventListener("error", () => {
console.error(`读åæä»¶æ¶åçé误ï¼${selectedFile.name}`);
});
reader.addEventListener("load", () => {
console.log(`æä»¶ï¼${selectedFile.name} 读åæå`);
});
reader.readAsDataURL(selectedFile);
}
}
fileInput.addEventListener("change", handleSelected);
è§è
| è§è |
|---|
| File API > # dfn-error-event > |
| File API > # dfn-onerror > |