2017-03-07 65 views
0

我想阻止上传文件超过10MB?而不是关于单个文件的最大大小。怎么做 ?任何帮助和代码示例将非常感激。谢谢!C#多个文件的最大数据大小

+0

您的意思是上传(超过1个或更多文件)最大10Mb。或者你的意思是总共有10Mb。例如,我会被允许上传1Mb文件11次吗? –

+0

@DaveBecker上传10mb以上(超过1个或多个文件) – tuszek

+0

这是否有帮助:http://stackoverflow.com/questions/19038390/uploading-multiple-files-mvc-is-there-a-total-file-大小限制 –

回答

0

简而言之,没有办法做到你想要的服务器端。您只能限制单个文件大小,而不能限制完整文件集合的大小。虽然您可以添加一些服务器端验证来检查所有文件的完整大小,但到目前为止,损坏已经完成:服务器已经接受了完整的上传,因此您可以改为使用它简单地返回一个错误。

但是,HTML5为您提供了一个客户端解决方案,但标准注意事项适用。首先,解决方案将基于JavaScript,与任何JS一样,它可以被禁用或篡改。其次,它需要JS API仅在现代浏览器中可用,所以它在IE 7-10中将完全无效。

$('#MyFileInput').on('change', function() { 
    var totalSize = 0; 
    for (var i = 0; i < this.files.length; i++) { 
     totalSize += this.files[i].size; 
    } 

    if (totalSize > 10 * 1024 * 1024) { 
     // present error to user 
    } 
});