浏览代码

download file functionality restored

Nicolas Toussaint 11 年之前
父节点
当前提交
3ba066c9e1
共有 1 个文件被更改,包括 6 次插入27 次删除
  1. 6 27
      Libs/XNAT/Core/ctkXnatConnection.cpp

+ 6 - 27
Libs/XNAT/Core/ctkXnatConnection.cpp

@@ -728,36 +728,15 @@ void ctkXnatConnection::fetch(const QSharedPointer<ctkXnatScanResource>& scanRes
 
 void ctkXnatConnection::download(ctkXnatScanResourceFile* scanResourceFile, const QString& fileName)
 {
- const QString& scanResourceFileName = scanResourceFile->getId();
- ctkXnatObject::Pointer scanResource = scanResourceFile->getParent();
- const QString& scanResourceName = scanResource->getProperty ("label");
- ctkXnatObject::Pointer scan = scanResource->getParent();
- const QString& scanName = scan->getId();
- ctkXnatObject::Pointer experiment = scan->getParent()->getParent();
- const QString& experimentName = experiment->getId();
- ctkXnatObject::Pointer subject = experiment->getParent();
- const QString& subjectName = subject->getId();
- ctkXnatObject::Pointer project = subject->getParent();
- const QString& projectName = project->getId();
-
  Q_D(ctkXnatConnection);
-
- QString query = QString("/REST/projects/%1/subjects/%2/experiments/%3/scans/%4/resources/%5/files/%6").arg(projectName, subjectName, experimentName, scanName, scanResourceName, scanResourceFileName);
-
+ QString query = scanResourceFile->uri();
  qRestAPI::Parameters parameters;
- parameters["format"] = "zip";
-
- qDebug() << "launching qRestAPI download with ";
- qDebug() << "query : "<< query;
- qDebug() << "object properties : ";
-
- QList<QString> propertieskeys = scanResourceFile->getProperties();
+ /**
+    nt: When the object is a file we don't need to use the "?format=zip" parameter
+    in the URI. So we leave the parameter map empty
+ */
+ // parameters["format"] = "zip";
 
- foreach (QString key, propertieskeys)
- {
-   qDebug() << key << " : " << scanResourceFile->getProperty (key);
- }
- 
  QUuid queryId = d->xnat->download(fileName, query, parameters);
  d->xnat->sync(queryId);
 }