在c#中检查上传时是否有重复文件
本文关键字:是否 文件 检查 | 更新日期: 2023-09-27 17:58:46
使用C#中的这个asp网页上传文件,我需要检查是否有重复的文件。
我接受服务器上上传的3个文件。
该代码有效,重复的文件没有上传,但即使重复的文件更多,也只为发送到上传的第一个重复文件打开警报弹出窗口。
怎么了?
我下面的代码,提前谢谢你。
if (File.Exists(upload.FileName))
{
DirectoryInfo objDir = new DirectoryInfo(Server.MapPath("''images''"));
FileInfo[] objFI = objDir.GetFiles("*.*");
int iFileCnt = 0;
if (objFI.Length > 0)
{
foreach (FileInfo file in objFI)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg", "alert('This file exists " + upload.FileName + "');", true);
iFileCnt += 1;
}
}
}
将"Msg"
更改为"Msg" + iFileCnt
。这将更改每次迭代的密钥。
Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg" + iFileCnt, "alert('This file exists " + file.Name + "');", true);
现在警报在循环中执行多次。
这样的东西怎么样?
List<string> Filenames = new List<string>()
{
"File1.jpg",
"File2.jpg"
//etc.
};
foreach(string s in Filenames)
{
Upload(s);
}
private void Upload(string filename)
{
string directory = @"''path''to''directory";
string fullpath = string.Format(@"{0}'{1}", directory, filename);
if(File.Exists(fullpath))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg", "alert('This file exists " + filename + "');", true);
}
}