2015-10-05 58 views
0

我需要在c#中用现有文件替换文件并删除原始文件。 这是我当前的代码,这代码不具有相同名称替换文件:如何用现有文件替换文件并删除原文件?

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      PopulateUploadedFiles(); 
     } 
    } 

    private void PopulateUploadedFiles() 
    { 
     using (MyDatabaseEntities dc = new MyDatabaseEntities()) 
     { 
      List<UploadedFile> allFiles = dc.UploadedFiles.ToList(); 
      DataListOktobar.DataSource = allFiles; 
      DataListOktobar.DataBind(); 
     } 
    } 

    protected void BtnUpload_Click(object sender, EventArgs e) 
    { 
     if (FileUpload1.HasFile) 
     { 
      HttpPostedFile file = FileUpload1.PostedFile; 
      BinaryReader br = new BinaryReader(file.InputStream); 
      byte[] buffer = br.ReadBytes(file.ContentLength); 

      using (MyDatabaseEntities dc = new MyDatabaseEntities()) 
      { 

       dc.UploadedFiles.Add(
        new UploadedFile 
        { 
         FileName = file.FileName, 
         ContentType = file.ContentType, 
         FileID = 0, 
         FileSize = file.ContentLength, 
         FileExtension = Path.GetExtension(file.FileName), 
         FileContent = buffer 
        }); 
       dc.SaveChanges(); 
       PopulateUploadedFiles(); 

回答

0

您正在寻找替换算法:

  1. 搜索具有相同名称的现有文件的上传的文件,如果你找到了这样的文件,将其删除
  2. 添加新的文件

有一点要考虑的是,对于网络搜索时,你的数据库是否区分大小写le同名。

+0

感谢您的帮助Martin Staufcik –