Question :
En utilisant la méthode readAsDataURL() de FileReader, on peut convertir des données en données URL. Cependant, existe-t-il une méthode pour inverser ce processus et créer une instance Blob à partir de l'URL de données à l'aide des API de navigateur intégrées ?
Réponse :
Une solution a été proposée par Matt il y a un an dans le fil de discussion "Comment convertir une URL de données en objet fichier en javascript ?"
Code mis à jour :
Depuis que BlobBuilder est obsolète, voici le code mis à jour :
<code class="javascript">function dataURItoBlob(dataURI) { // Convert base64 to raw binary data as a string let byteString = atob(dataURI.split(',')[1]); // Extract the MIME type let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; // Convert the string to an ArrayBuffer let ab = new ArrayBuffer(byteString.length); let ia = new Uint8Array(ab); // Set the ArrayBuffer bytes to the appropriate values for (let i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } // Create a Blob from the ArrayBuffer let blob = new Blob([ab], { type: mimeString }); return blob; }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!