在保存文件之前,确保目录存在或创建(如果需要)

时间:2016-01-01 05:54:26

标签: c#

我有一个文件名,我是根据来自数据库的数据生成的。我需要将文件保存到来自数据库查询的文件夹位置。如何确保路径存在,以便在保存文件时不会抛出有关丢失目录的异常?我的文件保存代码如下所示。当我调用saveTemp.Save时,我收到异常,因为该目录不存在。

Image<Bgr, Byte> newImage = sourceImage.WarpPerspective(mywarpmat, 355, 288, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, Emgu.CV.CvEnum.WARP.CV_WARP_FILL_OUTLIERS, new Bgr(0, 0, 0));
Image<Bgr, Byte> savetemp = newImage.Copy();

savetemp.ROI = new Rectangle(lokasiX, lokasiY, templatewidth, templateheight);
savetemp.Save(@"D:\Dokumen\Alfon\TA Alfon\CobaFitur\Template\Kotak\" + simpantmp["namakamera"].ToString() +  "Template_" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + cnt + ".jpg");

1 个答案:

答案 0 :(得分:4)

您需要确保该目录存在,然后才能将文件保存到该目录。您可以使用Directory.CreateDirectory方法执行此操作。我还会修改您的代码,以使用Path.Combine方法来构建您的路径。

var fileName = "Template_" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + cnt + ".jpg");
var filePath = Path.Combine(@"D:\Dokumen\Alfon\TA Alfon\CobaFitur\Template\Kotak", simpantmp["namakamera"].ToString());
Directory.CreateDirectory(filePath);
saveTemp.Save(Path.Combine(filePath, fileName));