<script src="js/jquery-1.2.1.pack.js" type="text/javascript"></script><form id="form1" name="form1"> 
 <input name='pic_1' type='file' id='pic_1' onChange="FileChange(this)" /> 
 <div id="MsgList">asdfsd</div>
 </form><script type="text/javascript" language="javascript">
   
        var ImgObj = new Image();
        var FileObj, ImgFileSize, ErrMsg; 
      
        function CheckProperty(obj)    //检测图像属性
        {
            FileObj = obj;
            if (ImgObj.readyState != "complete") //如果图像是未加载完成进行循环检测
            {
                setTimeout("CheckProperty(" + obj + ")", 500);
                return false;
            }
            ImgFileSize = Math.round(ImgObj.fileSize / 1024 * 100) / 100; //取得图片文件的大小
            ShowMsg("图片大小:" + ImgFileSize);
        }
        ImgObj.onerror = function () {
            ErrMsg = '\n图片格式不正确或已损坏!'
            ShowMsg(ErrMsg);
            return false;
        }
        function FileChange(obj) {
            ImgObj.src = obj.value;
            CheckProperty(obj);
        }
        function ShowMsg(msg) 
        {
            $("#MsgList").html(msg);
        }
        </script>
在ie/maxthon2下可以正常获取到,可在firefox/chrome下总是提示“图片格式不正确或已损坏”,请教大家。谢谢

解决方案 »

  1.   

     ImgObj.onerror不可以换成别的校检函数吗?
      

  2.   

    http://zhidao.baidu.com/question/63960308
    看看这个,或许有用
      

  3.   

    我需要用这个显示出图片的信息并预览,到时再上传到服务器。现在就是卡在当点浏览按钮进行选择图片后,在firefox/chrome下不能像IE中显示出相关信息,提示出错
    “图片格式不正确或已损坏”
      

  4.   


    谢谢,看了里面的代码跟我目前用的差不多是一样,把它的代码复制到htm中在firefox下运行也无法出预览图和图片大小
      

  5.   

    要结帐了,现在用ajax先上传图片并返回大小。
    虽然并不是用纯js来实现,但也感谢各位的热心回答。谢谢