在我的项目中,我最终将保存创建的图像或在网上保存并保存其他创建的文件,我知道该怎么做。问题是,当我碰巧保存我的图像时,我的工作方式如下:
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
下创建一个文件夹?
答案 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
这样的文件夹中,保证您的用户具有写访问权限。您的应用程序的子目录可能只有机器管理员才能访问。