FileUpload - 验证是否已上载实际文件

Tom*_*m V 1 .net c# file-upload

我的Web表单上有一个FileUpload控件(FileUpload1),还有一个"Sumbit"按钮,一个标签和一个包含UserID的隐藏字段.我在按钮的click事件中有以下代码:

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; 
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我上传实际文件,它的效果很好.但是,如果我在FileUpload的文本框中键入一个不存在的文件名(例如,"c:\ a.jpg",我的计算机上不存在),然后单击Sumbit按钮,HasFile仍然返回true.此外,SaveAs()不会抛出任何异常,它是一个void函数,不返回表示成功或失败的值.如何判断文件是否实际上传?

jve*_*ema 8

只需检查它是否存在.

if(File.Exists(myFile)){
  //it was uploaded.
}
Run Code Online (Sandbox Code Playgroud)