如何在不使用javascript中的activex的情况下从客户端获取文件大小?

时间:2012-06-06 09:31:17

标签: javascript internet-explorer file-upload

ActiveX中未使用IE的情况下,是否有其他方法可以在客户端获取文件大小?

我从客户端获取文件大小,但IE打开ActiveX控件的安全通知弹出窗口。有没有其他方法来获取文件大小或隐藏ActiveX弹出窗口?

以下是在客户端获取文件大小的代码。

<html>
<body>
<form id="file">
<input type="file" id="loadfile" />
<input type="button" value="Image Size" onclick="testSize()" />
</form>
<script type="text/javascript">

function testSize(){
    var browserInfo = navigator.userAgent.toLowerCase();

    if(browserInfo.indexOf("msie") > -1){
        /* IE */
        var filepath = document.getElementById('loadfile').value;
        alert(filepath + " Test ");
        var myFSO = new ActiveXObject("Scripting.FileSystemObject");
        var thefile = myFSO.getFile(filepath);
        var imgbytes = thefile.size;
        alert( "name " +  thefile.name + "Size " +  thefile.size );
    }else{
        /* Other */
        var file = document.getElementById('loadfile').files[0];
        alert( "name " +  file.name + "Size " +  file.size );
    }
}
</script>
</body>
</html>

提前致谢。

1 个答案:

答案 0 :(得分:3)

我得到了解决方案。

代码没有天才问题,问题出在Internet Explorer浏览器安全设置上。 通常,当您要在远程服务器上打开文本文件或某些Excel文件时,您会遇到此类错误

转到internetoptions&lt;安全性&lt; customlevel&lt;初始化和脚本活动x控件未标记为脚本安全,并标记它们已启用,我认为您的问题将被删除

感谢。