//实现图片预览 function change_photo(){ PreviewImage($("input[name='picture']")[0], 'img', 'imgtd'); } function PreviewImage(fileObj,imgPreviewId,divPreviewId){ var allowExtention=".jpg,.bmp,.gif,.png"; //允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value; var extention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase(); var browserVersion= window.navigator.userAgent.toUpperCase(); if(allowExtention.indexOf(extention)>-1){ if(fileObj.files){ //HTML5实现预览,兼容chrome、火狐7+等 if(window.FileReader){ var reader = new FileReader(); reader.onload = function(e){ document.getElementById(imgPreviewId).setAttribute("src",e.target.result); } reader.readAsDataURL(fileObj.files[0]); }else if(browserVersion.indexOf("SAFARI")>-1){ alert("不支持Safari6.0以下浏览器的图片预览!"); } }else if (browserVersion.indexOf("MSIE")>-1){ if(browserVersion.indexOf("MSIE 6")>-1){//ie6 document.getElementById(imgPreviewId).setAttribute("src",fileObj.value); }else{//ie[7-9] fileObj.select(); if(browserVersion.indexOf("MSIE 9")>-1) fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问 var newPreview =document.getElementById(divPreviewId+"New"); if(newPreview==null){ newPreview =document.createElement("div"); newPreview.setAttribute("id",divPreviewId+"New"); newPreview.style.width = document.getElementById(imgPreviewId).width+"px"; newPreview.style.height = document.getElementById(imgPreviewId).height+"px"; newPreview.style.border="solid 1px #d2e2e2"; } newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')"; var tempDivPreview=document.getElementById(divPreviewId); tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview); tempDivPreview.style.display="none"; } }else if(browserVersion.indexOf("FIREFOX")>-1){//firefox var firefoxVersion= parseFloat(browserVersion.toLowerCase().match(/firefox/([d.]+)/)[1]); if(firefoxVersion<7){//firefox7以下版本 document.getElementById(imgPreviewId).setAttribute("src",fileObj.files[0].getAsDataURL()); }else{//firefox7.0+ document.getElementById(imgPreviewId).setAttribute("src",window.URL.createObjectURL(fileObj.files[0])); } }else{ document.getElementById(imgPreviewId).setAttribute("src",fileObj.value); } }else{ alert("仅支持"+allowExtention+"为后缀名的文件!"); fileObj.value="";//清空选中文件 if(browserVersion.indexOf("MSIE")>-1){ fileObj.select(); document.selection.clear(); } fileObj.outerHTML=fileObj.outerHTML; } } //图片转base64 function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, img.width, img.height); var dataURL = canvas.toDataURL("image/png"); return dataURL // return dataURL.replace("data:image/png;base64,", ""); }