Convierta una imagen en una cadena Base64 usando JavaScript

Anika Tabassum Era 12 octubre 2023
  1. Use canvas para convertir la imagen a una cadena Base64 en JavaScript
  2. Use FileReader para convertir la imagen a una cadena Base64 usando JavaScript
Convierta una imagen en una cadena Base64 usando JavaScript

JavaScript tiene la convención de convertir una URL de imagen o una imagen de una PC local a una cadena base64. Esta cadena puede tener una gran cantidad de símbolos y letras.

Discutiremos la creación de un elemento canvas, cargando la imagen en él y usando toDataURL para mostrar la representación de la cadena. También probaremos la opción file reader para obtener la representación de cadena base64.

Use canvas para convertir la imagen a una cadena Base64 en JavaScript

En este caso, creamos un elemento canvas y definimos sus dimensiones-el dataURL donde almacenaremos la representación de la cadena.

Agregaremos imágenes aleatorias de fuentes en línea y, para evitar problemas de seguridad, aseguraremos el object.crossOrigin = 'Anonymous'. Por último, nuestra función de devolución de llamada llevará el dataURL a la función toDataURL para alertar a la ventana para obtener una vista previa de la cadena base64 para la imagen correspondiente.

Fragmento de código:

<!DOCTYPE html>
<html lang="en">
  
<head>
  <title>Test</title>
  <style>
    img{
      height: 200px;
    }
  </style>
</head>
<body>
 <img src="https://images.unsplash.com/photo-1606115915090-be18fea23ec7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=465&q=80" id="myImg">
  <script>
  function toDataURL(src, callback){
    var image = new Image();
    image.crossOrigin = 'Anonymous';
 
    image.onload = function(){
      var canvas = document.createElement('canvas');
      var context = canvas.getContext('2d');
      canvas.height = this.naturalHeight;
      canvas.width = this.naturalWidth;
      context.drawImage(this, 0, 0);
      var dataURL = canvas.toDataURL('image/jpeg');
      callback(dataURL);
    };
    image.src = src;
  }
      toDataURL('https://images.unsplash.com/photo-1606115915090-be18fea23ec7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=465&q=80', function(dataURL){
        alert(dataURL);      
    })
  </script>
</body>
  
</html>

Producción:

Use el lienzo para convertir la imagen en una cadena base64 en JavaScript

Use FileReader para convertir la imagen a una cadena Base64 usando JavaScript

Para una convención de lectura de archivos, inicializaremos dinámicamente un nuevo objeto. El objeto activará el método onload y extraerá la cadena base64. Nuestro elemento input está tomando imágenes de la computadora local a través de la carga.

Fragmento de código:

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <input type="file" name="" id="fileId" 
        onchange="Uploaded()">
    <br><br>
    <button onclick="display()">
        Display String
    </button>
</body>
</html>
var base64String = '';
function Uploaded() {
  var file = document.querySelector('input[type=file]')['files'][0];
  var reader = new FileReader();
  reader.onload = function() {
    base64String = reader.result.replace('data:', '').replace(/^.+,/, '');
    imageBase64Stringsep = base64String;
  } reader.readAsDataURL(file);
}
function display() {
  console.log('Base64String about to be printed');
  alert(base64String);
}

Producción:

Use FileReader para convertir la imagen a una cadena base64 usando JavaScript

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

Artículo relacionado - JavaScript Image