이 내 코드 분류에 따르면File.exists (Filename) 문이 작동하지 않는 이유는 무엇입니까?
protected void btnAdd_Click(object sender, EventArgs e)
{
if (FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
switch(SubDrpDownList.SelectedIndex)
{
case 0:
if (!File.Exists(filename))
FileUploadControl.SaveAs(Server.MapPath("~/Books/Math/") + filename);
else if (File.Exists(filename))
{
throw new DuplicateWaitObjectException();
}
break;
case 1:
if (!File.Exists(filename))
FileUploadControl.SaveAs(Server.MapPath("~/Books/Physics/") + filename);
else if (File.Exists(filename))
{
throw new DuplicateWaitObjectException();
}
break;
case 2:
if (!File.Exists(filename))
FileUploadControl.SaveAs(Server.MapPath("~/Books/Drawing/") + filename);
else if (File.Exists(filename))
{
throw new DuplicateWaitObjectException();
}
break;
}
lblStatus.Text = "Upload status: File uploaded!";
}
catch (Exception ex)
{
lblStatus.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
, 나는 책을 내가 스위치 문을 사용하여 달성 diffrenet 폴더에 업로드 할 수 싶습니다. 문제는 내가 책을 업로드 한 다음 다시 업로드 할 때 File.Exists (filename)가 작동하지 않는다는 것입니다. 내가 원하는 것은 같은 파일을 두 번 업로드하면 중복 파일이 업로드 되려고한다는 예외가 발생합니다. 단, case 문장의 경우 File.Exists (filename) 라인 만 중복 된 파일이라도 실행됩니다. File.Exists (filename)이 실행되지 않는 이유는 무엇입니까 ??