Agradecemos tu ayuda para compartir nuestros artículos en referencia a las ciencias informáticas.
Solución:
Solución moderna:
let blob = await fetch(url).then(r => r.blob());
La URL puede ser una URL de objeto o una URL normal.
Como alude gengkev en su comentario anterior, parece que la mejor/única manera de hacer esto es con una llamada asíncrona xhr2:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'blob:http%3A//your.blob.url.here', true);
xhr.responseType = 'blob';
xhr.onload = function(e)
if (this.status == 200)
var myBlob = this.response;
// myBlob is now the blob that the object URL pointed to.
;
xhr.send();
Actualización (2018): para situaciones en las que se puede usar ES5 de manera segura, Joe tiene una respuesta más simple basada en ES5 a continuación.
Quizás alguien encuentre esto útil cuando trabaje con React/Node/Axios. Utilicé esto para mi función de carga de imágenes de Cloudinary con react-dropzone
en la interfaz de usuario.
axios(
method: 'get',
url: file[0].preview, // blob url eg. blob:http://127.0.0.1:8000/e89c5d87-a634-4540-974c-30dc476825cc
responseType: 'blob'
).then(function(response)
var reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onloadend = function()
var base64data = reader.result;
self.props.onMainImageDrop(base64data)
)
Agradecemos que quieras patrocinar nuestra labor exponiendo un comentario y valorándolo te lo agradecemos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)