图片上传IE11上传成功但图片无法显示问题的解决方案

本文主要探讨了在使用进行图片上传时,IE11浏览器出现上传成功但图片无法在前端页面显示的异常情况。问题根源在于IE11的ajaxUpload.js返回的内容直接是图片内容,而非其他浏览器中被
包裹的形式。解决方案在于调整ajaxUpload.js中处理返回值data的方法,以适应IE11。
          
摘要由CSDN通过智能技术生成

同样是图片上传的问题。我用的是<input type="file" name="upload">

问题描述:

IE8/9/10都没有问题,上传到服务器后就在前端页面返回了图片的预览,chorme 和firefox也都没有问题。但是IE11 却出现了上传成功但图片无法在前端页面显示的问题。想了很多办法,最后终于在同事的帮助下找到了问题原因所在: IE11用ajaxUpload.js上传服务器返回的data 直接是内容,而其他浏览器用ajaxUpload.js 返回的是用<pre></pre>包裹的内容。在ajaxUpload.js中对返回值data的处理方法是$(data).html();  所以如果是IE11,就找不到$(data).html()。这样原因就找到了。

先贴上ajax上传的代码:

//图片上传
        var upload_func = function(e){
            var node = $(this).parent().find('[type="file"]');
            var id = node.attr("id");

            var pattern = /(jpg|jpeg|png|gif)/i;
            node.siblings('.upChuan').eq(0).attr('fileid','1');

            if(!pattern.test(node.val())) {
                alert("请选择jpg、jpeg、png、gif格式的图片文件");
            } else {
                var lib = this;
				var order_id = $('input[name=order_id]').val();
                $.ajaxFileUpload ({
                    url:'/qiche/user/upload?order_id=' + order_id +'&fileid='+node.attr("name"),
                    fileElementId:node.attr("id"),
                    dataType: 'json',
                    success: function (data) {

                        //console.log(data)
                        if(data.code=='0'){
                            //console.log('000000000000')
                            $($(lib).parent().find('.upPic>div>img')[0]).attr('src',data.data.url);
                            $(lib).parent().find(".upPic").show();
                            $(lib).parent().find('input[type="hidden"]').val($($("#file1").parent().find('.upPic img')[0]).attr('src'));
                            if(lib.className =='upChuan sail-up'){
                                    var html = [];
                                    html.push('<div style="position:relative;">');
                                    html.push('<img class="imghead" src="">');
                                    html.push(' <div class="pic_closen2">');
                                    html.push('<img class="closePic2" width="20" height="20" src="http://i3.sinaimg.cn/qc/buycar/images/close.png">');
                                    html.push('</div>');
                                    html.push('</div>');
                                    $('.upPic2').append(html.join(""));
                                    $($(lib).parent().find('.upPic2>div>img')[ii]).attr('src', data.data.url);
                                    $(lib).parent().find(".upPic2").show();
                                    $(lib).parent().find('.upPic2').siblings('.sel_pic').text('请选择图片');
                                    ii++;

                            }
                            //console.log(data.data.url);
                        }else{

                            showMsg(data.msg);
                        }

                    },
                    error: function (data) {

                        console.log(data);
                        showMsg(data.msg);
                    }

                });

            }
        
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值