 function onUploadImgChange(sender){ 

     if( !sender.value.match( /.jpg|.gif|.png|.bmp/i ) ){    
         alert('图片格式无效！');    
         return false;    
     } 
      var ImgFileSize=Math.round(sender.fileSize/1024*100)/100;
      var image=new Image();        
      image.dynsrc=sender.value;        
     var objPreview = document.getElementById( 'preview' );    
     var objPreviewFake = document.getElementById( 'preview_fake' );    
     var objPreviewSizeFake = document.getElementById( 'preview_size_fake' );    
        
     if( sender.files && sender.files[0] ){    
        objPreview.style.display = 'block';    
        objPreview.style.width = 'auto';    
        objPreview.style.height = 'auto';    
            
         // Firefox 因安全性问题已无法直接通过 input[file].value 获取完整的文件路径    
        objPreview.src = sender.files[0].getAsDataURL();        
     }else if( objPreviewFake.filters ){    
         // IE7,IE8 在设置本地图片地址为 img.src 时出现莫名其妙的后果    
         //（相同环境有时能显示，有时不显示），因此只能用滤镜来解决    
            
         // IE7, IE8因安全性问题已无法直接通过 input[file].value 获取完整的文件路径    
         sender.select();    
         var imgSrc = document.selection.createRange().text;    
         objPreviewFake.filters.item(    
             'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;    
         objPreviewSizeFake.filters.item(    
             'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;    
            
         autoSizePreview( objPreviewFake,    
             objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight );   
         objPreview.style.display = 'none';    
        
     }    
}    
function onPreviewLoad(sender){    
     autoSizePreview( sender, sender.offsetWidth, sender.offsetHeight );    
}    
   
function autoSizePreview( objPre, originalWidth, originalHeight ){    
     var zoomParam = clacImgZoomParam( 90, 90, originalWidth, originalHeight );    
    objPre.style.width = zoomParam.width + 'px';    
    objPre.style.height = zoomParam.height + 'px';    
    objPre.style.marginTop = zoomParam.top + 'px';    
    objPre.style.marginLeft = zoomParam.left + 'px';    
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){    
     var param = { width:width, height:height, top:0, left:0 };    
        
     if( width>maxWidth || height>maxHeight ){    
        rateWidth = width / maxWidth;    
        rateHeight = height / maxHeight;    
            
         if( rateWidth > rateHeight ){    
            param.width =  maxWidth;    
            param.height = height / rateWidth;    
         }else{    
            param.width = width / rateHeight;    
            param.height = maxHeight;    
         }    
    }    
    param.left = (maxWidth - param.width) / 2;    
    param.top = (maxHeight - param.height) / 2;    
    return param;    
    }    