美文网首页
Base64转化为图片并上传服务器

Base64转化为图片并上传服务器

作者: 猫的树 | 来源:发表于2021-08-24 10:54 被阅读0次

    前言

    在做身份证读卡器自动录入功能时,发现返回的图片信息是base64字符串。但需要将图片存储到服务器上,所以就要将base64字符串转化为图片上传。

    一、操作步骤

    1.转化为Blob

    将base64转化为二进制文件

    <font color=#999AAA >代码如下:

    // 将base64转换为blob
    function dataURLtoFile(dataURI, type) {
        let binary = atob(dataURI.split(',')[1]);
        let array = [];
        for (let i = 0; i < binary.length; i++) {
            array.push(binary.charCodeAt(i));
        }
        return new Blob([new Uint8Array(array)], {type: type});
    }
    

    2.上传文件服务器

    得到图片文件,剩下就和普通的图片上传流程一样

    <font color=#999AAA >代码如下:

    function upload(baseStr, index) {
        // 图片地址
        let imgBase = 'data:image/jpeg;base64,' + baseStr;
        let blob = dataURLtoFile(imgBase, 'image/jpeg');
        var formData = new FormData();
        let fileOfBlob = new File([blob], new Date() + '.jpg'); // 重命名了
        formData.append("faceInfo", fileOfBlob);
        $.ajax({
            url: baseImgUrl + "xx/xx/uploadImage", //用于文件上传的服务器端请求地址
            dataType: 'json',
            type: 'POST',
            async: false,
            data: formData,
            processData: false, // 使数据不做处理
            contentType: false, // 不要设置Content-Type请求头
            success: function (r) { //服务器成功响应处理函数
                if (r.state) {
                    // 上传成功后的处理
                    var data = r.result;
                    // 图片地址
                    var url = baseImgUrl + data[0]
                    // ...
                } else {
                    message("错误", "上传失败");
                }
            }
        });
    }
    

    创作不易,关注、点赞就是对作者最大的鼓励,欢迎在下方评论留言
    求关注,定期分享Java知识,一起学习,共同成长。

    相关文章

      网友评论

          本文标题:Base64转化为图片并上传服务器

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