美文网首页
js中 文件、图片二进制和base64的互转

js中 文件、图片二进制和base64的互转

作者: PharkiLL | 来源:发表于2020-06-15 10:55 被阅读0次
    /**
     * 网络图像文件转Base64
     */
    function getBase64Image(img) {
        var canvas = document.createElement("canvas");
        canvas.width = img.width;
        canvas.height = img.height;
        var ctx = canvas.getContext("2d");
        ctx.drawImage(img, 0, 0, img.width, img.height);
        var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
        var dataURL = canvas.toDataURL("image/" + ext);
        return dataURL;
    }
     
     
    /**
    *Base64字符串转二进制
    */
    function dataURLtoBlob(dataurl) {
        var arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
        while (n--) {
            u8arr[n] = bstr.charCodeAt(n);
        }
        return new Blob([u8arr], {
            type: mime
        });
    }
     
     
    var img = "图像文件URL地址";
    var image = new Image();
    image.src = img;
    image.onload = function() {
        //这样就获取到了文件的Base64字符串
        var base64 = getBase64Image(image);
        //Base64字符串转二进制
        var file = dataURLtoBlob(base64);
    }
    
    转自 CSDN - [矢志不渝丶](https://me.csdn.net/Feb_kylin)
    
     
    

    相关文章

      网友评论

          本文标题:js中 文件、图片二进制和base64的互转

          本文链接:https://www.haomeiwen.com/subject/eodcxktx.html