0


后台返回的数据是一对很长的base64字符串 想请教一下是用div 还是 img标签 处理这些编码

写了一个demo 但是显示不出来 不知道问题出在哪里


            url:url,
            type:"POST",
            dataType :'json',
            contentType :'application/json',
            data:data,
            success:function(data){
                $.each(data.retObject,function(n,value){
                    console.log(value);
                    var img = "data:image/jpg;base64" + value.imgByte;
                    var html = '';
                    html += '<img class = "img">dfdfdf';
                    $('body').append(html);
                    $('.img').attr('src',img);

                });

            },

        })

查看全部 5 个回答

0

我是在前台用lrz把bese64压缩转成blob,然后存的.....

推荐答案

1

这个循环里边的内容建议用原生去写,并且这么多的内容,不要每次循环都append一遍,可以这样:

var html = []; // 写外边
$.each(data.retObject, function(n,value){
    var _img = new Image(); // 构建Dom
        _img.src = "data:image/jpg;base64," + value.imgByte;
        _img.onload = function() {
            html.push(_img);
        }
});
$(html).appendTo('body'); // 最后一次性插入