Tengo este código que transforma una url de imagen a base64, funciona perfectamente pero no he encontrado la manera de convertir el resultado a una cadena, necesito convertirlo a una cadena ya que tengo que POST a través de una API, alguna idea estoy haciendo mal? :(
const toDataURL = url => fetch(url) .then(response => response.blob()) .then(blob => new Promise((resolve, reject) => { const reader = new FileReader() reader.onloadend = () => resolve(reader.result) reader.onerror = reject reader.readAsDataURL(blob) })) toDataURL('https://www.gravatar.com/avatar/d50c83cc0c6523b4d3f6085295c953e0') .then(dataUrl => { console.log('RESULT:', dataUrl) })lo mas probable es que sea algo super simple que me este fallando :(
"lo que necesito es pasar el resultado que me da el console.log para mostrarlo en pantalla como un string"
entonces solo haz eso
const toDataURL = url => fetch(url) .then(response => response.blob()) .then(blob => new Promise((resolve, reject) => { const reader = new FileReader() reader.onloadend = () => resolve(reader.result) reader.onerror = reject reader.readAsDataURL(blob) })) toDataURL('https://www.gravatar.com/avatar/d50c83cc0c6523b4d3f6085295c953e0') .then(dataUrl => { document.getElementById("blob-string").innerText = dataUrl; }) <p id="blob-string"></p>