【问题标题】:How to find root path of wpf app and create folder on root directory for saving images?如何找到 wpf 应用程序的根路径并在根目录上创建文件夹以保存图像?
【发布时间】:2016-10-03 13:18:25
【问题描述】:

我想将图像保存在“osc/Screenshots/EmpName/EmpId/scr.jpg”之类的文件夹中

如何在这个路径上创建文件夹和保存图片

帮帮我

提前致谢

【问题讨论】:

标签: c# wpf


【解决方案1】:

获取表示路径的字符串:

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

您可能想要执行以下操作:

DirectoryInfo directory = new DirectoryInfo(path);

根据根文件夹创建新路径:

var imagePath = path + @"\MyAppName\Images"

if (!Directory.Exists(imagePath)) 
{   
   DirectoryInfo di = Directory.CreateDirectory(imagePath);
}

编辑:作为替代方案,您可以使用特价文件夹。例如 LocalApplicationData,在此文件夹中,您可以为每个用户放置应用程序的机器范围数据。下面的变量 localData 将是

C:\Users\USER_NAME\AppData\Local

其中 USER_NAME 是用户个人资料。

string localData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var imagePath = localData + @"\Images";

if (!Directory.Exists(imagePath)) 
{   
    DirectoryInfo di = Directory.CreateDirectory(imagePath);
}

【讨论】:

  • 它给了我 exe 的路径,比如 osc/bin/release/screenshots.... 但我想在根目录 osc/ 中创建文件夹。
  • 是的,但它返回 bin/release 文件夹路径我想要应用程序的根路径
  • @SaurabhSolanki,当您从 Visual Studio 启动应用程序时,根目录是 Release 或 Debug 文件夹。当您安装应用程序时,根文件夹将是安装文件夹。
  • 谢谢.....@ E-Bat 是的,它解决了我的问题,并将屏幕截图保存到我项目的根目录,但是安装应用程序后出现问题安装在 c:/programfiles(86)/projectfolder 驱动器中,因此我的应用程序无法访问该文件夹以写入图像文件。由于C盘无法访问。
  • @SaurabhSolanki,您可以使用 Windows 中可用的特价文件夹。 .NET 提供了一种一致的方式来访问这些文件夹。例如应用程序数据。看看我在帖子中的编辑。
【解决方案2】:

AppDomain.CurrentDomain.BaseDirectory 将为您提供应用程序文件夹的路径。

【讨论】:

  • 它给了我 exe 的路径,比如 osc/bin/release/screenshots.... 但我想在根目录 osc/ 中创建文件夹。
猜你喜欢
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-23
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多