旧版本 Internet Explorer 上的文件输入验证客户端大小

Posted

技术标签:

【中文标题】旧版本 Internet Explorer 上的文件输入验证客户端大小【英文标题】:file input validate size client side on older version of internet explorer 【发布时间】:2016-09-19 21:22:11 【问题描述】:

(对不起我的英语)

在提交表单之前,我需要在客户端验证一些 html 文件输入的大小,因为我将文件上传附加到以 php 发送到 gmail 的邮件中,而 gmail 将电子邮件大小限制为 25MB。

现在我在 IE8 中对其进行测试,由于安全原因,它没有文件 API(我不是专家),所以我当前的 javascript 代码“支持”它..

我发现了一些 Activex 方法,但它们似乎很有前途,因为它需要在 IE 浏览器上激活,我无法控制用户。

有什么想法吗?

我用来在其他浏览器(IE 除外)上验证的 Jvascript 代码:

else if(file_check.files[0].size >  2560000)
    file_check.style.borderColor = "red";
    validFlag = false;
    msg += " -Max file size is 2.5MB" + "\n";

HTML:

<input style="width:220px" required name="files[]" type="file" id="show_image_height">

【问题讨论】:

【参考方案1】:

如果您进行了一些搜索,问题已经得到解答。

不,没有仅 JavaScript 的 polyfill/shim/等。对于此功能 IE8 和 IE9 等不支持 File API 的浏览器。也不能 会有。这就是我们在现代浏览器中使用 File API 的原因。

如果您强烈希望提供客户端验证 补充您的服务器端验证,您必须使用 ActiveX、Flash 或 Java 小程序解决方案。

【讨论】:

谢谢你的回答

以上是关于旧版本 Internet Explorer 上的文件输入验证客户端大小的主要内容,如果未能解决你的问题,请参考以下文章

检测旧的 Internet Explorer Javascript 函数(< ES6)

Internet Explorer 和 Firefox 上的 YouTube IFrame API

flex 在 Internet Explorer 上的工作方式不同

jQuery 高级选择器在 Internet Explorer 8 中失败

iframe jQuery 不会在 Internet Explorer 中执行 [所有版本]

Internet Explorer 11 中的光标偏移