代码之家  ›  专栏  ›  技术社区  ›  Surya Matadewa

saveFileDialog创建新文件夹并保存在其中

  •  0
  • Surya Matadewa  · 技术社区  · 10 年前

    我想在我的应用程序中创建备份数据,我使用了saveFileDialog,这样我可以将备份文件放在任何我想要的位置(Dekstop、驱动器D等)

    我的备份文件将是db、image、video,所以我想将其放在一个文件夹中会更容易,比如说它是“myBackup”文件夹(使用C#自动生成) 因此,如果用户想在Dekstop中保存所有备份数据,则所有备份数据都将在~C:\Users\Maju\Desktop\myBackup中~

    我已经成功生成了文件夹,但我的文件无法保存在其中

    mySaveFileDialog.FileName = "Backup Database " + dateTimeNow;
    
    if (mySaveFileDialog.ShowDialog() == DialogResult.OK)
    {
        string fileAsal = System.IO.Path.Combine(Global.myDatabaseLocation, "data.mdb");
    
        FileInfo fi = new FileInfo(mySaveFileDialog.FileName);
        string nameFolder = "myBackup";
        System.IO.Directory.CreateDirectory(@fi.DirectoryName + "\\" + nameFolder);
    
        string path = System.IO.Path.Combine (fi.DirectoryName, "\\" + nameFolder);
        string pathDestination = System.IO.Path.Combine(path, mySaveFileDialog.FileName);
        System.IO.File.Copy(fileAsal, pathDestination, true);
    }
    
    1 回复  |  直到 10 年前
        1
  •  3
  •   Vasily Semenov    10 年前
    1. 使用FolderBrowserDialog不是更容易吗?
    2. mySaveFileDialog.FileName已包含文件的路径,因此您需要编写

      string pathDestination = System.IO.Path.Combine(path, System.IO.Path.GetFileName(mySaveFileDialog.FileName));