3

目前我正在使用

if(navigator.appName=='Microsoft Internet Explorer'){
        if(component.value){
            var oas = new ActiveXObject("Scripting.FileSystemObject");
            var e = oas.getFile(component.value);
            var size = e.size;
        }
    }

验证文件大小。

有没有其他方法来验证大小

Automation server can't create object error is displayed

我知道这与在设置中启用 ActiveX 控件有关,但这不会发生,因为无法控制客户端系统并且 IE7/8 甚至不支持文件 Api

4

3 回答 3

1

IE 不支持此功能

我找到了一个很棒的文件上传插件jQuery-File-Upload

于 2013-09-14T07:44:20.513 回答
1

只有 IE 9 不支持此功能。

所有其他 IE 版本 >9 都没有问题。

您可以通过为 IE 9 应用过滤器并获取文件大小来解决您的问题。在其他浏览器的其他条件下使用下面的代码,如下所示。

if (browserInfo.indexOf("msie") > -1) 
    {
        /* IE */
        var filepath = document.getElementById('idControl').value;
        if(browserInfo.indexOf("msie 9") == -1)
        {
            var myFSO = new ActiveXObject("Scripting.FileSystemObject");
            if (filepath == "") {
                alert("Please Select File");
                $("#selectorID").attr("src", $("#Contenturlprifix").val() + "/content/img/NoPhoto.png");
                return false;
            }
            file = myFSO.getFile(filepath);
            filetype = document.getElementById('idControl').accept
        }

    } else {
        /* Other */
        file = document.getElementById('idControl').files[0];
        if (file == undefined) {
            alert("Please Select File");
            return false;
        }
        else {
            filetype = file.type;
        }
    }
    if (file != undefined) {
        //10mb size 
        if (file.size / 1024 > 10240) {
            alert("size Exists");
            return false;
        }
        else if (filetype.indexOf('image/') == -1) {
            alert("Select only images");
            return false;
        }
    }
于 2014-06-03T11:27:53.343 回答
-1

尝试这个............

  • 转到互联网选项。
  • 选择安全选项卡。
  • 在自定义级别下。
  • 确保“初始化和脚本活动 x 控件未标记为安全脚本”选择启用的单选按钮并立即尝试运行您的代码,我相信您的问题将得到解决。
于 2013-08-29T10:11:50.830 回答