Obtention d'un Blob à partir d'une DataURL
Dans certains scénarios, il est nécessaire de transformer des données arbitraires en une URL de données à l'aide de readAsDataURL( ) méthode. Cependant, cette URL de données peut-elle être reconvertie en une instance Blob à l'aide des API de navigateur intégrées ?
Une solution a été proposée par un utilisateur nommé Matt :
Extrait de code :
<code class="js">function dataURItoBlob(dataURI) { // Convert base64 to raw binary data var byteString = atob(dataURI.split(',')[1]); // Extract the MIME component var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] // Create an ArrayBuffer and Uint8Array var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); // Set the bytes of the buffer for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } // Create a Blob instance var blob = new Blob([ab], { type: mimeString }); return blob; }</code>
Remarque :
Comme mentionné dans les commentaires ultérieurs, BlobBuilder est devenu obsolète. Par conséquent, le code fourni ci-dessus est une version mise à jour.
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!