我已经为 IE 浏览器使用了 ActiveXObject,但它不工作。我已经在js中获取了其他浏览器的文件大小,但无法获取IE浏览器的文件大小。我为此使用了以下代码:-
if ($.browser.msie==true)
{
var fileSystemObject = new ActiveXObject("Scripting.FileSystemObject");
var path = document.uploadDocumentForm.documentUpload.value;
var file = fileSystemObject.getFile(path);
var size = file.size;
alert(size);
/* var a = document.getElementById(fileId).value;
$('#myImage').attr('src',a);
var imgbytes = document.getElementById('myImage').fileSize;
alert("here"+imgbytes);
var imgkbytes = Math.round(parseInt(imgbytes)/1024); */
}
else
{
var fileInput = $("#"+fileId)[0];
var imgbytes = fileInput.files[0].size;
var imgkbytes = Math.round(parseInt(imgbytes)/(1024));
}
任何人都可以帮助我获取 IE 浏览器的文件大小。我已经经历了所有的想法,但无法获得 IE 浏览器的文件大小。请为此提供想法或代码...
最佳答案
下面是一个可行的建议。
<script type="text/javascript">
function AlertFilesize(){
if(window.ActiveXObject){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.getElementById('fileInput').value;
var thefile = fso.getFile(filepath);
var sizeinbytes = thefile.size;
}else{
var sizeinbytes = document.getElementById('fileInput').files[0].size;
}
var fSExt = new Array('Bytes', 'KB', 'MB', 'GB');
fSize = sizeinbytes; i=0;while(fSize>900){fSize/=1024;i++;}
alert((Math.round(fSize*100)/100)+' '+fSExt[i]);
}
</script>
<input id="fileInput" type="file" onchange="AlertFilesize();" />
摘自另一个答案Get file size before uploading .
关于javascript - 如何使用 javascript 或 Jquery 获取 IE 浏览器的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10737264/