JAVA文件上传图片预览,IE浏览器兼容问题和拒绝访问解决方式

本文主要探讨了在JAVA中处理文件上传,特别是图片预览时遇到的IE浏览器兼容性问题。针对IE浏览器可能出现的拒绝访问错误,提出了有效的解决策略,包括调整MIME类型设置、使用ActiveXObject以及考虑使用其他兼容性更好的浏览器或库来确保用户在各种环境下都能顺利预览上传的图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<div id="fileInputDiv" style="display:none;">
    <input type="file" name="files" class="filepath" onchange="changeQualificationpic(this)" accept="image/jpg,image/jpeg,image/png,image/PNG" multiple="multiple">
</div>
<div class="col-4 pad-top20" id="qualificationImgDiv">
    //将预览的图片放置在这个div中
</div>
    var ieVersoion = IEVersion();
    function IEVersion() {
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
        var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
        if(isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if(fIEVersion == 7) {
                return 7;
            } else if(fIEVersion == 8) {
                return 8;
            } else if(fIEVersion == 9) {
                return 9;
            } else if(fIEVersion == 10) {
                return 10;
            } else {
                return 6;//IE版本<=7
            }
        } else if(isEdge) {
            return 'edge';//edge
        } else if(isIE11) {
            return 11; //IE11
        }else{
            return -1;//不是ie浏览器
        }
    }
    function changeQualificationpic() {
        if(ieVersoion==9){
            var thisImgPath = $("#fileInputDiv>input:last").val();
            var newImage = document.createElement('img');
            var nextNode = document.getElementById('qualificationImgDiv').appendChild(newImage);
            newImage.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + thisImgPath + "\")";
            newImage.style.width="150px";
            newImage.style.height="150px";
            newImage.src = 'data:image/jepg;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
            nextNode.className = "newImgDom";
            // nextNode.src = thisImgPath;
        }else {
            var cars = document.getElementById("fileInputDiv").lastElementChild.files;
            if (cars != null) {
                for (var i=0;i<cars.length;i++) {
                    var fileOfList = document.getElementById('fileInputDiv').lastElementChild.files[i];
                    if (fileOfList.size < 1024 * 1024 * 1){
                        var reads = new FileReader();
                        reads.readAsDataURL(fileOfList);
                        reads.onload = function () {
                            var newImage = document.createElement('img');
                            var nextNode = document.getElementById('qualificationImgDiv').appendChild(newImage);
                            nextNode.style.width="150px";
                            nextNode.style.height="150px";
                            nextNode.className = "newImgDom";
                            nextNode.src = this.result;
                        }
                    }else {
                        toastr.info("请调整图片大小");
                    }
                }
            }
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值