В скрипте не рабоает функция fileReader.onload
В чем косяк, понять не могу. Код работает только до строки fileReader.onload = function (event) {
код:
<let selectedFile;
document.getElementById("file-input").addEventListener("change", function (event) {
selectedFile = event.target.files[0];
});
document.getElementById("upload__image").addEventListener("click", function () {
if (selectedFile) {
const fileReader = new FileReader();
fileReader.onload = function (event) {
var data = event.target.result;
var workbook = XLSX.read(data, {
type: "binary"
});
workbook.SheetNames.forEach(sheet => {
let rowObject = XLSX.utils.sheet_to_row_object_array(
workbook.Sheets[sheet]
);
let jsObject = JSON.parse(JSON.stringify(rowObject));
console.log(jsObject);
return jsObject;
});
};
};
});>
|
Для начала отформатируй код:
[js run]<код>[/js] А проблема у тебя в том что ты повесил слушатель на событие загрузки(onload), но саму загрузку то не запустил. Тебе после этого надо дописать FileReader.readAsЧтоТо(selectedFile); |
АлександрJS,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Точно! Во тупой, даже не заметил - полдня пропарил. Добавил соотвествующую команду и все заработало. fileReader.readAsBinaryString(selectedFile);
Спасибо, святой человек!) |
| Часовой пояс GMT +3, время: 22:13. |