Directory.GetFiles 方法 (String, String, SearchOption)解压文件 后怎么覆盖

Directory.GetFiles 方法 (String, String, SearchOption)解压文件 后如何覆盖
代码先奉上
 protected void UpLoad()
        { 
                if (FileImage.PostedFile != null && !string.IsNullOrEmpty(this.FileImage.PostedFile.FileName))
                {
                    if (!Path.GetExtension(FileImage.PostedFile.FileName).Equals(".zip"))
                    {
                        Response.Write("<script>alert('文件格式不正确');history.go(-1)</script>"); 
                        return;
                    }
                    //上传压缩文件
                    var zipfileName = System.IO.Path.GetTempFileName();
                    var FileExt = Path.GetExtension(zipfileName);
                    zipfileName = zipfileName.Replace(FileExt, ".zip");
                    this.FileImage.SaveAs(zipfileName);
                    if (System.IO.File.Exists(zipfileName))
                    {
                       //解压缩的目录为 
                        var zippath = Server.MapPath("/Upload/ProductImg/");
                        using (ZipFile zip = ZipFile.Read(zipfileName, System.Text.Encoding.Default))
                        {
                            zip.ExtractAll(zippath);
                            //将所有文件解压到改目录下
                            Directory.GetFiles(zippath, "*.*", SearchOption.AllDirectories);
                        }
                    
                }
            }
        }


   想将上传的ZIP包 解压到固定的一个目录中。/Upload/ProductImg/" 
   但是如果这么目录中,有包含解压的文件。 就会报错。提示文件已经存在
   Directory.GetFiles 方法 (String, String, SearchOption)解压文件 后怎么覆盖

  我现在想,如果解压后的文件  目录中包含次同名文件,我就覆盖目录中的文件。没包含就直接添加到这个目录中。
  
  附加:可能有些朋友会说,其实不需要覆盖, 但是,我想说的是,无论需不需要覆盖。解压出来的文件,它的名称不能改掉。
              因为我后续要根据名字到这个目录中查找的,如果解压同名的 你用别的名字替换,我找到的 还是之前久的文件
              所以即使你改变原目录中存在的文件的名字 没关系。但解压后同名的文件 别改就行。。
              请各位大神给个意见。。。

------解决方案--------------------
如果如果文件已存在,则覆盖,可以使用下面的方法 (引自How to overwrite extracted zip file in C#, WinForms?)

using (ZipFile zip = ZipFile.Read(pathBackup))
        {
            zip.ExtractAll(Environment.CurrentDirectory, ExtractExistingFileAction.OverwriteSilently);                
        }