JS实现未上传图片预览

function  checkType(upload){
     var  image = document.getElementById(upload).value;
     var  extStart = image.lastIndexOf( "." );
     var  ext = image.substring(extStart, image.length).toUpperCase();
     if  ( ext !=  ".PNG"  && ext !=  ".GIF"  && ext !=  ".JPG"  && ext !=  ".JPEG" ) {
         alert( "图片限于png,gif,jpeg,jpg格式!" );
         return  false ;
     }
     return  true ;
}
function  setImagePreview(upload,preview) {
     if (checkType(upload)){
         showTips( 'result' , '图片预览:' ,0);
         var  docObj=document.getElementById(upload);
         var  imgObjPreview=document.getElementById(preview);
         if (docObj.files &&    docObj.files[0]){
             //火狐下,直接设img属性
             imgObjPreview.style.width =  '160px' ;
             imgObjPreview.style.height =  '120px' ;
             try {
                 imgObjPreview.src = docObj.files[0].getAsDataURL();
             } catch (e){
                 //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
                 imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
             }
  
  
         } else {
             //IE下,使用滤镜
             docObj.select();
             var  imgSrc = document.selection.createRange().text;
             var  localImagId = document.getElementById( "localImag" );
             //必须设置初始大小
             localImagId.style.width =  "160px" ;
             localImagId.style.height =  "120px" ;
             //图片异常的捕捉,防止用户修改后缀来伪造图片
             try {
                 localImagId.style.filter= "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)" ;
                 localImagId.filters.item( "DXImageTransform.Microsoft.AlphaImageLoader" ).src = imgSrc;
             } catch (e){
                 alert( "您上传的图片格式不正确,请重新选择!" );
                 return  false ;
             }
             imgObjPreview.style.display =  'block' ;
             document.selection.empty();
         }
         return  true ;
     }
  
}

 摘自:http://www.oschina.net/code/snippet_187608_34433

你可能感兴趣的:(js)