如何在asp.net中设置有限数量的文件上传多文件上传

本文关键字:文件 asp net 设置 | 更新日期: 2023-09-27 18:19:52

我在Asp.net中使用带有c# 的多文件上传

 <asp:FileUpload ID="FileUpload2" multiple="multiple" class="form-control" runat="server" />

我想在上传时验证客户端,文件的选择必须是6。

如何在asp.net中设置有限数量的文件上传多文件上传

function ValidateFile2(){
    var fileCount = document.getElementById('FileUpload2').files.length;
    if(fileCount > 10) // Selected images with in 10 count
    {
       alert("Please select only 10 images..!!!");
       return false;
    }
    else if(fileCount <= 0) // Selected atleast 1 image check
    {
       alert("Please select atleat 1 image..!!!");
       return false;
    }
    return true;  // Good to go
}

Fiddle

<asp:FileUpload ID="FileUpload2"ClientIDMode="Static"multiple="multiple"runat="server"/>

JQuery解决方案:

 $(document).ready(function () {
        $('#FileUpload2').change(function () {
            var files = $(this)[0].files;
            if (files.length != 6) {
                alert("Six files have to be selected at a time!");
            }
            else
            {
                submit();//your custom method to submit the form
            }
        });
    });

注意:我可以使用ID作为选择器,因为我已经将ClientIDMode属性设置为static。此属性是从.NET 4.0引入的[单击此处了解更多信息]。或者,您也可以使用控件的类名作为选择器。

尝试低于

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<form id="form1" runat="server">
<div>  
    <input type="file" ID="fuPhoto" multiple="multiple" />
    <input type="button" ID="btnUpload" Text="Upload"  Enabled="false" />
    <label ID="myLabel"  ForeColor="#CC0000" />
</div> 
</form>
<script>
    $(function () {
        $('#fuPhoto').change(          
        function () {  
   var files = $('input[type="file"]')[0].files;
    alert(files.length )
        //var fileExtension = ['jpeg', 'jpg'];
if (files.length>6) {
                    $('#btnUpload').attr("disabled", true);
                    $('#myLabel').html("limit upto six");
                }
                else {
                    $('#btnUpload').attr("disabled", false);
                    $('#myLabel').html(" ");
                } 
            })  
    }) 
</script>

下方的更新代码

$(function () { 
       var files = $('input[type="file"]')[0].files;
        alert(files.length )
    if (files.length>6) {
                        $('#btnUpload').attr("disabled", true);
                        alert("limit upto six");
                    }
                    else {
                       //nothing
                    } 
        }) 

您可以使用后面的代码并执行类似的操作

if(FileUpload2.Count < 6) { //Error } else { //OK }

您也可以在页面上使用一些JavaScript来进行验证

`

function Validate() {
    var f = document.getElementById("fu");
    if(f.files.length < 6)
    {
    }
    else
    {
    }
}        
</script>`

在按钮上单击事件集OnClientClick="Validate();"

试试下面的代码隐藏,

 if (FileUpload1.PostedFiles.Count > 2) 
 {
    //error will show if file number more than 2
 }
 else
 {
    //will proceed with uploading if file count not more than 2
 }