javascript图片预览和上传(兼容IE)
本文实例为大家分享了js图片预览和上传的具体代码,供大家参考,具体内容如下
vardailiApply={ change:function(evt){ evt.preventDefault(); varpic=document.getElementById("preview"), file=document.getElementById("f"); varext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase(); //gif在IE浏览器暂时无法显示 if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){ alert("图片的格式必须为png或者jpg或者jpeg格式!"); return; } varisIE=navigator.userAgent.match(/MSIE/)!=null, isIE6=navigator.userAgent.match(/MSIE6.0/)!=null; if(isIE){ file.select(); varreallocalpath=document.selection.createRange().text; //IE6浏览器设置img的src为本地路径可以直接显示图片 if(isIE6){ pic.src=reallocalpath; }else{ //非IE6版本的IE由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现 pic.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src=\""+reallocalpath+"\")"; //设置img的src为base64编码的透明图片取消显示浏览器默认图片 pic.src='data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='; } }else{ varfile_arr=file.files; varul=$(".weui_uploader_files"); if(file_arr.length<7){ for(varkeyinfile_arr){ if(file_arr.hasOwnProperty(key)){ varf=file_arr[key]; varurl=URL.createObjectURL(f); varreader=newFileReader(); console.log(f); reader.readAsDataURL(f); n+=1; if(n<7){ reader._onload=function(e){ //拼接显示预览图片的html varlist=$(""+ " "+ " X"); ul.append(list); //将转化后的图片地址放在img中 varpic=document.getElementById('preview'+n); //pic.src=this.result; pic.src=url; dailiApply.compress(f,.7,undefined); //images.push(f); document.getElementById('delImg'+n).addEventListener("click",function(){ $(this).parent().remove(); --n; }); }; reader._onload(); }else{ $.alert("最多上传6张图片"); n=6; } } } }else{ $.alert("最多上传6张图片"); } } returnfalse; }, /** *@param{Object}finput选择的图片必填 *@param{String}quality图片压缩的质量[0,1] *@param{String}output_img_type输出图片的类型 */ compress:function(f,quality,output_img_type){ varmime_type="image/jpeg"; if(output_img_type!=undefined&&output_img_type=="image/png"){ mime_type="image/png"; } createImageBitmap(f).then(function(imageBitmap){ varmax=1000;//设置最大分辨率 varc_w=''; varc_h=''; varwidth=imageBitmap.width; varheight=imageBitmap.height; //等比例缩放 if(width>max||height>max){ if(width>height){ c_w=max; c_h=max*height/width; }else{ c_h=max; c_w=max*width/height; } }else{//不缩放 c_w=width; c_h=height; } varcanvas=document.createElement('canvas'); canvas.width=c_w; canvas.height=c_h; varctx=canvas.getContext('2d'); ctx.drawImage(imageBitmap,0,0,width,height,0,0,c_w,c_h); canvas.toBlob(function(blob){ images.push(blob); },mime_type,quality); }); }, submit:function(){ varcontent=$(".weui_textarea").val().trim(); varxhr=newXMLHttpRequest(); varfd=newFormData(document.getElementById('uploadForm')); $.each(images,function(i,e){ fd.append("images",e); }); fd.append("remark",content); fd.append("substationproxyId",8); console.log(images); console.log(fd); if(content){ $.ajax({ url:CONFIG.API.addSubProxyRecruit, type:"POST", data:fd, processData:false,//telljQuerynottoprocessthedata contentType:false,//telljQuerynottosetcontentType beforeSend:function(xhr){ $.showLoading(); $(this).prop("disabled",true) }, success:function(json){ console.log(json); $.hideLoading(); $(this).prop("disabled",false); if(json.errorCode==0){ $.alert("保存成功",function(){ location.reload(); }) }elseif(json.errorCode=="-101"){ $.alert('出错:'+json.message,function(){ location.href=CONFIG.HTML.login; }); }else{ $.alert(json.message,function(){ }) } } }); }else{ $.alert('请输入内容'); } } };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。