Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get file size from clientside without using activex in javascript?

Is there any other way to get file size at client side without using ActiveX in IE?

I am getting file size from client side but, IE opens security notification popup for ActiveX controls. Is there any other way to get file size or hide ActiveX popup?

Here is code for getting file size on client side.

<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>

Thanks in advance.

like image 512
Dipesh Gandhi Avatar asked Jun 06 '12 09:06

Dipesh Gandhi


1 Answers

I got solution.

There is no geniune problem with the code the problem is with internet explorer browser security settings. Generally you face this type of error when you want to open a text file or some excel files on a remote server

go to internetoptions < security < customlevel < initialize and script active x controls not marked safe for scripting and mark them enabled and i think your problem will be removed

thanks.

like image 167
Dipesh Gandhi Avatar answered Oct 18 '22 00:10

Dipesh Gandhi