[英]How to validate file size from clientside using javascript in IE 7/8?
[英]How to get file size from clientside using javascript in IE?
我使用了以下方法
HTML
<input type="file" id="loadfile" />
JavaScript的
var file = document.getElementById('loadfile').files[0];
alert( "name " + file.name + "Size " + file.size );
它除了IE之外还可以正常工作:(如何进入IE?
我担心IE不提供文件大小信息。 您可以在IE10中使用HTML5 File API,请看: -
你可以使用activeX这样做
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
在这里了解更多细节;
document.getElementById('loadfile').addEventListener('change', checkFile, false);
function checkFile(e) {
var file_list = e.target.files;
for (var i = 0, file; file = file_list[i]; i++) {
var fileExtension = file.name.split('.')[file.name.split('.').length - 1].toLowerCase();
var iConvert = (file.size / 1024).toFixed(2);
txt = "File type : " +fileExtension + "\n";
if(file.size > (1024 * 1024)){
txt += "Size: " + (file.size / (1024*1024)).toFixed(2) + " MB \n";
} else {
txt += "Size: " + (file.size / 1024).toFixed(2) + " KB \n";
}
alert(txt);
}
}
看到filddle
IE版本9不支持获取文件大小所需的文件API 。 IE10不支持文件大小。
IE不支持File API
来源: https : //github.com/blueimp/jQuery-File-Upload/issues/147
必须使用ActiveX控件来执行此操作
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
来源: http : //www.sencha.com/forum/showthread.php?196859-File-Upload-Field-IE-Safari-Opera-fileInput-error.&s=b124834725ae363759158268d91ac32c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.