Pārlūkot izejas kodu

FIX: create directories for database insert

Marco Nolden 14 gadi atpakaļ
vecāks
revīzija
eaf6440c3a
1 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  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() );