使用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>";
}
}
}
我有答案了
下面是设计代码:
<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!";
}
}
}
}