客户端验证对于提高可用性很重要。
在上传到服务器之前,有没有跨浏览器的方法来验证文件的大小?我使用的是asp.net文件上传控件。
我发现一些第三方控件会执行此检查:
http://ajaxuploader.com/Demo/simple-upload.aspx
和
http://demo.essentialobjects.com/Default.aspx?path=AJAXU
但是怎么做呢?
发布于 2009-08-09 15:54:56
以前,在将文件发送到服务器之前,确定文件大小的唯一方法是拥有“比javascript更厚”的客户端插件/附加组件。这些必须安装在客户端系统上。例如使用SWFUpload、Java、ActiveX控件。
现在,您可以使用HTML5文件API,即:
var size = document.getElementById('myfile').files[0].size;发布于 2012-10-01 21:55:05
现在,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支持涉及ActiveX的this workaround,但它要求降低Internet Explorer的安全设置,因此它实际上不是大多数应用程序的选项。
这需要更多的工作,但如果你真的需要在IE9或更低版本中做到这一点,请使用基于闪存的上传程序,如SWFUpload。IE10将(希望)增加对HTML5文件API的支持。
https://stackoverflow.com/questions/1250414
复制相似问题