2015-10-05 5 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. добавить новый файл

Одна вещь, чтобы рассмотреть вопрос о том, является ли ваша БД чувствителен к регистру при поиске фи с тем же именем.

+0

Спасибо за помощь Martin Staufcik –