在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;
        }
    }                        
}

在c#中检查上传时是否有重复文件

"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);
    }
}