Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

195
Vistas
js canvas.toDataURL("image/png") return a error base64 code

My project requires me to get a screenshot from video by random frames.

 let oVideo = document.createElement("video");

  oVideo.setAttribute("src", this.localVideoURL);
  oVideo.setAttribute("controls", "controls");
  oVideo.currentTime = this.randomSecond; //Set the first second frame
  oVideo.load();
  oVideo.addEventListener("canplay", function (event) {
    let oCanvas = document.createElement("canvas");

    oCanvas.width = oVideo.videoWidth;
    oCanvas.height = oVideo.videoHeight;
    oCanvas.getContext("2d").drawImage(oVideo, 0, 0, oCanvas.width, oCanvas.height);

    let base64 = oCanvas.toDataURL("image/png");

    let frameCoverDom = document.getElementById("frameCoverDom");
    frameCoverDom.src = base64;
   
  });

This code works great on Windows and Android except iOS. Some of my friend's iPhone XR works perfectly too. Most iPhone that I tested got a blank image. After comparing my friend's phone and mine, I found that there was a difference on let base64 = oCanvas.toDataURL("image/png").

toDataURL returns:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAI4CAYAAAAbCTCbAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABQKADAAQAAAABAAACOAAAAAAtaf5UAAAMfElEQVR4Ae3QMQEAAADCoPVPbQZ/iEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwI....  

This base64 code contains lots of "ABAwYMGDBgwI", and when I open it on the browser, it's a blank image with proper width and hieght.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda