无论你怎么说,你的问题核心就在于删除文件,是这样实现的:   
  先引入using   System.IO;   
  然后就:   
  if(File.Exists(Server.MapPath("./")+"\\文件名")   ==   true)               
  {   
        File.Delete(Server.MapPath("./")+"\\文件名")   ;   
  }  
参考示例:
上传按钮事件:   
  {string   fname,path;   
  fname=System.IO.Path.GetFileName(filMyFile.Value.ToString());//获得要上传的文件的文件名(文件名带扩展名)   filMyFile.Value   是上传文件的路径   
  path=DBCon.mp3UploadString()+ddlmPath.SelectedItem.Text;//上传路径   
  HttpPostedFile   myFile   =   filMyFile.PostedFile;//   获得一个postedfile   
  int   nFileLen   =   myFile.ContentLength;//   上传文件的长度   
  byte[]   myData   =   new   byte[nFileLen];//   转换为字节流   
  myFile.InputStream.Read(myData,0,nFileLen);   
  string   Mpath=Server.MapPath("//");//服务器物理路径   路径要自己定义   
  string   Mpath2=Mpath+fname;   
  WriteToFile(Mpath2,ref   myData);//保存文件   
  }   
    
  private   void   WriteToFile(string   strPath,   ref   byte[]   Buffer)   
  {   
  //   创建一个文件   
  FileStream   newFile   =   new   FileStream(strPath,   FileMode.Create);   
  //   读文件   
  newFile.Write(Buffer,0,Buffer.Length);   
  //   关闭文件   
  newFile.Close();   
  }   
    
  删除:   
  string   del=Server.MapPath(".//con//");   //里面为路径   
  string   cmdStr   =   "delete   from     table   ";//删除语句   
  SqlCommand   cmd   =   new   SqlCommand(cmdStr,con);   
  cmd.ExecuteNonQuery();   
  File.Delete(del);//删除文件   
  con.Close();   
  cmd.Dispose();