使用相对路径将文件和图像保存在项目的文件夹中

时间:2013-05-01 15:12:39

标签: c# path directory

在我的项目中,我最终将保存创建的图像或在网上保存并保存其他创建的文件,我知道该怎么做。问题是,当我碰巧保存我的图像时,我的工作方式如下:

using (var imgClient = new WebClient())
{
    Directory.CreateDirectory(imagesDirectory);
    imgClient.DownloadFile(imgUrl, imagesDirectory + m_ObjNameToUse + "(" + abv+ ")" + objNumber + ".jpeg");
}

此时我调用Directory.CreateDirectory方法以确保在创建映像之前始终创建目录,以防止崩溃。

现在我的问题是它使用字符串imagesDirectory,这是一个硬编码字符串,如下所示:

string imagesDirectory = "C:\\Creation_Folder\\Object_Sets\\Images\\" + _objSetName+ "\\";

这是有效的,截至目前。但我正在开发中,该项目最终将被释放。我想将图像保存在项目的“Images”文件夹下,将_objSetName添加为新文件夹,以区分创建的每个图像,以避免在同一文件中包含太多图像。

所以我的问题是如何告诉我的应用找到项目中包含的Images文件夹,然后在_objSetName下创建一个文件夹?

2 个答案:

答案 0 :(得分:5)

您可以尝试使用应用程序基础文件夹AppDomain.CurrentDomain.BaseFolder。这是您的应用程序所在的文件夹。从那里很容易:

 string imagesDirectory = AppDomain.CurrentDomain.BaseFolder + "Object Sets\\Images\\" + _objSetName+ "\\";

答案 1 :(得分:2)

string imagesDirectory = Path.Combine(Environment.CurrentDirectory, "Images", _objSetName);

旁注,您可能希望将图像存储在AppData这样的文件夹中,保证您的用户具有写访问权限。您的应用程序的子目录可能只有机器管理员才能访问。