页面上我定义了标签,用来上传图片
<s:file name="aa" id="aa" ContentEditable="false" size="45"></s:file> 
提交时我要得到上传图片的大小和尺寸,我用下面的JS来做:
function checkImage(file){
var fso,f;  
   fso=new ActiveXObject("Scripting.FileSystemObject");  
   f=fso.GetFile(file);
   var fileSize = f.size ;
   if((fileSize/1024) > 2){
    alert("上传图片文件不能大于2K");
    return false;
   }
   var imgSize={  
        width:0,  
        height:0  
        };  
        image=new Image();  
        image.src=file;  
        imgSize.width =image .width;  
        imgSize .height=image .height;  
        alert( imgSize.width);
   return true;
}但这样我始终得不到图片的尺寸大小,一直提示0

解决方案 »

  1.   


    var flag=false; 
    function sImage(ImgS){ 
    var image=new Image(); 
    image.src=ImgS.src; 
    if(image.width>0 && image.height>0){ 
    flag=true; 
    if(image.width/image.height>= 173/173){ 
    if(image.width>173){ 
    ImgS.width=173; 
    ImgS.height=(image.height*173)/image.width; 
    }else{ 
    ImgS.width=image.width; 
    ImgS.height=image.height; 

    //ImgS.alt="实际图片大小为"+image.width+"×"+image.height; 

    else{ 
    if(image.height>173){ 
    ImgS.height=173; 
    ImgS.width=(image.width*173)/image.height; 
    }else{ 
    ImgS.width=image.width; 
    ImgS.height=image.height; 

    //ImgS.alt=image.width+"×"+image.height; 


    } 试试看吧
      

  2.   


    <input type="file" id="fileText">    
    <input type="button" value="getSize" onclick="checkFileChange(document.getElementById('fileText'));">   
      
      
    <script type="text/javascript">   
    var  Sys = {};   
    if(navigator.userAgent.indexOf("MSIE")>0)   
    {   
        Sys.ie=true;   
    }   
    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)   
    {   
        Sys.firefox=true;   
    }   
      
    function checkFileChange(obj)   
    {   
        var filesize = 0;   
           
        if(Sys.firefox)   
        {   
            filesize = obj.files[0].fileSize;   
        }else if(Sys.ie)   
        {   
            var fileobject = new ActiveXObject ("Scripting.FileSystemObject");
            var file = fileobject.GetFile (document.getElementById("fileText").value);
            var filesize = file.Size;
        }   
        alert(filesize);   
    }   
    </script>  
      

  3.   

    那我用new Image()对象创建,但使用时候一直提示uninitialized,这个是为什么呢?