从DataURL获取Blob
在某些场景下,需要使用FileReader的readAsDataURL( ) 方法。但是,可以利用内置浏览器 API 将这个数据 URL 转换回 Blob 实例吗?
名为 Matt 的用户提出了一个解决方案:
代码片段:
<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>
注意:
正如后续评论中提到的,BlobBuilder 已被弃用。因此,上面提供的代码是更新版本。
以上是您可以使用内置 API 将数据 URL 转换回 JavaScript 中的 Blob 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!