瀏覽代碼

FIX: create directories for database insert

Marco Nolden 14 年之前
父節點
當前提交
eaf6440c3a
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      Libs/DICOM/Core/ctkDICOMDatabase.cpp

+ 6 - 0
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -300,6 +300,12 @@ void ctkDICOMDatabase::insert ( DcmDataset *dataset, bool storeFile, bool create
   if ( storeFile && !this->isInMemory() )
   {
     DcmFileFormat* fileformat = new DcmFileFormat ( dataset );
+
+    QString destinationDirectoryName = databaseDirectory() + "/dicom/";
+    QDir destinationDir(destinationDirectoryName);
+    QString studySeriesDirectory = QString(studyInstanceUID.c_str()) + "/" + seriesInstanceUID.c_str();
+    destinationDir.mkpath(studySeriesDirectory);
+
     filename = databaseDirectory() + "/dicom/" + pathForDataset(dataset);
     logger.debug ( "Saving file: " + filename );
     OFCondition status = fileformat->saveFile ( filename.toAscii() );