9

我使用了以下方法

HTML

<input type="file" id="loadfile" />

JavaScript

var file = document.getElementById('loadfile').files[0];
alert( "name " +  file.name + "Size " +  file.size );

它在 IE 以外的其他浏览器上运行良好 :( 如何进入 IE ?

4

5 回答 5

5

恐怕 IE 不提供文件大小信息。您也许可以将 HTML5 File API 与 IE10 一起使用,请参见此处:-

在 Internet Explorer 中上传之前检查文件大小的 Javascript

于 2012-11-22T11:41:18.377 回答
1
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);
    }
}

于 2013-11-22T05:45:51.830 回答
1

你可以使用 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");
}

请参阅此处了解更多详细信息;

如何在客户端使用 HTML 和 Javascript 验证文件大小

于 2012-11-22T11:43:08.887 回答
0

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");
}

来源:http ://www.sencha.com/forum/showthread.php?196859-File-Upload-Field-IE-Safari-Opera-fileInput-error.&s=b124834725ae363759158268d91ac32c

于 2012-11-22T11:48:25.050 回答
0

最高版本 9 的 IE 不支持获取文件大小所需的文件 API 。IE10 不支持文件大小。

于 2012-11-22T11:42:10.573 回答