ソースを参照

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() );