使用asp.net c# web表单验证多个文件上传

本文关键字:文件 验证 表单 asp net web 使用 | 更新日期: 2023-09-27 18:03:30

我想验证多个上传的文件。它应该只接受.png.jpg文件。下面是我的代码:

protected void uploadFile_Click(object sender, EventArgs e)  
{  
    if (multipleFile.HasFiles)  
    {  
        string filenameWithPath = string.Empty;
        foreach (HttpPostedFile uploadedFile in multipleFile.PostedFiles)  
        {  
            filenameWithPath = System.IO.Path.Combine(
                Server.MapPath("~/Uploads/"), 
                uploadedFile.FileName);  
            uploadedFile.SaveAs( filenameWithPath );  
            ltStatusText.Text += "File-<b>" 
                + uploadedFile.FileName 
                + "</b> uploaded successfully.<br>";  
        }  
    }  
}  

使用asp.net c# web表单验证多个文件上传

我有答案了

下面是设计代码:

<body>
<form id="form1" runat="server">
    <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />
    <asp:Button ID="btnUpload" Text="Upload" runat="server" OnClick="UploadMultipleFiles" />
    <hr />
    <asp:Label ID="Information" runat="server" ForeColor="Green" />
</form>
</body>
下面是c#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text.RegularExpressions;
public partial class CS : System.Web.UI.Page
{
 protected void UploadMultipleFiles(object sender, EventArgs e)
 {
  foreach (HttpPostedFile postedFile in FileUpload1.PostedFiles)
   {
    string fileName = Path.GetFileName(postedFile.FileName);
        Regex reg = new Regex(@"^.*'.(jpg|JPG|jpeg|PNG|png)$");
        if (reg.IsMatch(fileName))
        {
            postedFile.SaveAs(Server.MapPath("~/Uploads/") + fileName);
            Information.Text = string.Format("{0} files have been uploaded successfully.", FileUpload1.PostedFiles.Count);
        }
        else
        {
            Information.Text = "files have been uploaded fail , please check file format!";
        }
    }
   }
  }