У меня есть приложение для чата, созданное с помощью socket.io и node.js. У меня есть функция ниже для чтения файла со входа и отправки его на сервер в виде строки base64.Почему filleader не работает?
function readURL() {
if (this.files && this.files[0]) {
var FR= new FileReader();
FR.onload = function(e) {
$("img").attr("src", e.target.result);
socket.emit('image', e.target.result);
console.log(e.target.result);
};
FR.readAsDataURL(this.files[0]);
}
};
Мой HTML выглядит следующим образом:
<input id="file" type='file' onchange="readURL()"/>
<img id="img">
Однако при загрузке файла, ничего не происходит. Ошибок не записывается, и на консоль ничего не записывается. Почему это так?
Как вы слушаете свой сокет в NodeJS? –
Это может произойти из-за отсутствия 'this.files' внутри области функции. – mk12ok