asp.net - 在将文件上传到服务器之前跨浏览器检查客户端的文件大小?

标签 asp.net validation file-upload cross-browser client

客户端验证对于提高可用性很重要。

在将文件上传到服务器之前,是否有任何跨浏览器的方法来验证文件大小。我正在使用 asp.net 文件上传控件。

我发现一些第三方控件可以进行检查:

http://ajaxuploader.com/Demo/simple-upload.aspx



http://demo.essentialobjects.com/Default.aspx?path=AJAXU

但是怎么样?

最佳答案

现在可以通过 HTML5 的 File API 实现:

<script>
    var myFile = document.getElementById('myFile');
    var size;
    myFile.addEventListener('change', function() {
        size = this.files[0].size;
    });
</script>

这是由 most of the latest browsers 支持的.

Internet Explorer 支持 this workaround涉及 ActiveX,但它需要降低 Internet Explorer 的安全设置,因此它并不是大多数应用程序的真正选择。

这需要更多的工作,但请使用基于 Flash 的上传器,例如 SWFUpload如果您真的需要在 IE9 或更低版本中执行此操作。 IE10 将(希望)添加对 HTML5 文件 API 的支持。

关于asp.net - 在将文件上传到服务器之前跨浏览器检查客户端的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1250414/

相关文章:

jquery - 使用 jquery 一次验证所有表单元素

javascript - Jquery Ajax 验证复选框

javascript - js - 检查字符串是否不包含给定的字符

具有可变列数的 ASP.NET 表

asp.net - 如何在 ASP.net MVC 中正确执行异步方法?

c# - C# 线程初学者

spring - 如何使用 spring 将文件从本地目录发送到 sftp?

asp.net - 显示默认阴影的 div

java - 带预览的多文件 uploader

php - 在 PHP 中上传多个文件