前段时间在网络上找的代码,修改了一部分用在了项目里。原博客地址找不到了,如果原作者看到的话留言我,将于第一时间删除。
//js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3
functionPreviewImage(fileObj){
//创建dom元素
vardivPreviewId='divPreview_'+fileObj.name;
varimgPreviewId='imgHeadPhoto_'+fileObj.name;
varhtml=''+
''+
'
';
$('#'+divPreviewId).remove();
$(fileObj).after(html);
//进行限制
varallowExtention=".jpg,.bmp,.gif,.png";//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value;
varextention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase();
varbrowserVersion=window.navigator.userAgent.toUpperCase();
if(allowExtention.indexOf(extention)>-1){//格式正确
if(fileObj.files){//HTML5实现预览,兼容chrome、火狐7+等
if(window.FileReader){
varreader=newFileReader();
reader.onload=function(e){
document.getElementById(imgPreviewId).setAttribute("src",e.target.result);
}
reader.readAsDataURL(fileObj.files[0]);
}elseif(browserVersion.indexOf("SAFARI")>-1){
$('#'+divPreviewId).remove();
alert("不支持Safari6.0以下浏览器的图片预览!");
}
}elseif(browserVersion.indexOf("MSIE")>-1){
if(browserVersion.indexOf("MSIE6")>-1){//ie6
document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);
}else{//ie[7-9]
fileObj.select();
if(browserVersion.indexOf("MSIE9")>-1)
fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问
varnewPreview=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="solid1px#d2e2e2";
}
newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='"+document.selection.createRange().text+"')";
vartempDivPreview=document.getElementById(divPreviewId);
tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview);
tempDivPreview.style.display="none";
}
}elseif(browserVersion.indexOf("FIREFOX")>-1){//firefox
varfirefoxVersion=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{
$('#'+divPreviewId).remove();
alert("仅支持"+allowExtention+"为后缀名的文件!");
fileObj.value="";//清空选中文件
if(browserVersion.indexOf("MSIE")>-1){
fileObj.select();
document.selection.clear();
}
fileObj.outerHTML=fileObj.outerHTML;
}
returnfileObj.value;//返回路径
}
以上所述是小编给大家介绍的JS实现上传图片实时预览功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!