Heim > Web-Frontend > js-Tutorial > Wie kann ich ein Bild in JavaScript in einen Base64-String konvertieren?

Wie kann ich ein Bild in JavaScript in einen Base64-String konvertieren?

DDD
Freigeben: 2024-12-20 14:12:11
Original
520 Leute haben es durchsucht

How Can I Convert an Image to a Base64 String in JavaScript?

Ein Bild in einen Base64-String in JavaScript konvertieren

Das Konvertieren eines Bildes in einen Base64-String ist eine häufige Aufgabe in der Webentwicklung, insbesondere wenn Sie Sie müssen ein Bild an einen Server senden. Hier sind zwei beliebte JavaScript-Ansätze, um dies zu erreichen:

1. FileReader-Ansatz:

Dieser Ansatz nutzt die FileReader-API, um das Bild als Blob zu lesen und es dann in eine Daten-URL zu konvertieren:

function toDataURL(url, callback) {
  var xhr = new XMLHttpRequest();
  xhr.onload = function() {
    var reader = new FileReader();
    reader.onloadend = function() {
      callback(reader.result);
    }
    reader.readAsDataURL(xhr.response);
  };
  xhr.open('GET', url);
  xhr.responseType = 'blob';
  xhr.send();
}

toDataURL('https://www.gravatar.com/avatar/d50c83cc0c6523b4d3f6085295c953e0', function(dataUrl) {
  console.log('RESULT:', dataUrl)
})
Nach dem Login kopieren

2. HTML-Canvas-Ansatz:

Eine andere Möglichkeit besteht darin, einen HTML-Canvas zu erstellen, das Bild darauf zu zeichnen und dann den Canvas in eine Daten-URL umzuwandeln:

const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');

// Resize the canvas to the image's size
canvas.width = image.width;
canvas.height = image.height;

// Draw the image onto the canvas
ctx.drawImage(image, 0, 0);

// Convert the canvas to a data URL
const dataUrl = canvas.toDataURL('image/jpeg');
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ein Bild in JavaScript in einen Base64-String konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage