I'm trying to create a function that turns a file into a Data URL. But I'm facing a problem: The return value of the function is not what I expected. Here is my code:
File.prototype.toData = function() {
//Leitor de Arquivos
var leitor = new FileReader();
var dados = false; //Não há dados inicialmente
//Quando o leitor ler o arquivo
leitor.onload = function(e){
dados = e.target.result; //Grava a string de dados na variável
};
//Inicia a leitura deste arquivo
leitor.readAsDataURL(this);
//Minha Tentativa:
//while(!dados){}
//Retorna os dados
return dados;
}
function teste(i) {
console.log('Dados: '+i.files[0].toData())
}
<input type='file' onchange='teste(this)' />