0

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

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

4

2 回答 2

5

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

 string imagesDirectory = AppDomain.CurrentDomain.BaseFolder + "Object Sets\\Images\\" + _objSetName+ "\\";
于 2013-05-01T15:21:31.757 回答
2
string imagesDirectory = Path.Combine(Environment.CurrentDirectory, "Images", _objSetName);

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

于 2013-05-01T15:19:06.137 回答