使用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;
}
}
}
答案 0 :(得分:1)
将"Msg"
更改为"Msg" + iFileCnt
。这会改变每次迭代的关键。
Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg" + iFileCnt, "alert('This file exists " + file.Name + "');", true);
现在警告执行多次循环。
答案 1 :(得分:1)
这样的事情怎么样?
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);
}
}