我的 Web 表单上有一个 FileUpload 控件 (FileUpload1),还有一个“Sumbit”按钮、一个标签和一个包含 UserID 的隐藏字段。我在按钮的点击事件中有以下代码:
string path = Server.MapPath("~/userfiles/");
if (FileUpload.HasFile)
{
try
{
FileUpload1.SaveAs(path + UserID.Value + "/image.jpg");
}
catch
{
Label1.Text = "* unable to upload file";
Label1.Visible = true;
}
}
如果我上传一个实际的文件,效果会很好。但是,如果我在 FileUpload 的文本框中键入一个不存在的文件名(例如,“c:\a.jpg”,它在我的计算机上不存在),然后单击 Sumbit 按钮,HasFile 仍会返回 true。此外,SaveAs() 不会抛出任何异常,它是一个 void 函数,不返回指示成功或失败的值。如何判断文件是否已实际上传?
只需检查它是否存在。
if(File.Exists(myFile)){
//it was uploaded.
}
我是一名优秀的程序员,十分优秀!