我用下面的梅索德如何在IE中使用JavaScript從客戶端獲取文件大小?
HTML
<input type="file" id="loadfile" />
的JavaScript
var file = document.getElementById('loadfile').files[0];
alert("name " + file.name + "Size " + file.size);
它的工作原理,除了IE :( 精細其他瀏覽器如何在IE中得到什麼?
我用下面的梅索德如何在IE中使用JavaScript從客戶端獲取文件大小?
HTML
<input type="file" id="loadfile" />
的JavaScript
var file = document.getElementById('loadfile').files[0];
alert("name " + file.name + "Size " + file.size);
它的工作原理,除了IE :( 精細其他瀏覽器如何在IE中得到什麼?
IE不提供fi le恐怕大小信息。你也許可以使用HTML5文件API與IE10,在這裏看到: -
Javascript to check filesize before upload in Internet Explorer
IE多達9個版本不支持這是需要獲得文件大小file API。 IE10不支持文件大小。
,你可以做這樣的使用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");
}
在這裏看到更多的細節;
how validate file size using HTML and Javascript on client side
IE不支持文件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");
}
我得到「自動化服務器無法創建對象」,試圖在jQuery的onchange函數中運行它。 – Will
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不支持File API。 – undefined
http://caniuse.com/#feat=fileapi – adeneo
感謝所有...我也得到無處不在的信息,IE瀏覽器不支持此功能:( 我已經找到了文件上傳HTTP一個偉大的插件:/ /blueimp.github.com/jQuery-File-Upload/ – raki