Mercurial > hg > orthanc
diff OrthancServer/ServerContext.cpp @ 697:dd1ce9a2844c
access to attachments
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 05 Feb 2014 16:46:59 +0100 |
parents | 4c1860179cc5 |
children | 2929e17f8447 |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp Wed Feb 05 15:00:29 2014 +0100 +++ b/OrthancServer/ServerContext.cpp Wed Feb 05 16:46:59 2014 +0100 @@ -116,7 +116,7 @@ } FileInfo dicomInfo = accessor_.Write(dicomInstance, dicomSize, FileContentType_Dicom); - FileInfo jsonInfo = accessor_.Write(dicomJson.toStyledString(), FileContentType_JsonSummary); + FileInfo jsonInfo = accessor_.Write(dicomJson.toStyledString(), FileContentType_DicomAsJson); ServerIndex::Attachments attachments; attachments.push_back(dicomInfo); @@ -153,9 +153,9 @@ } - void ServerContext::AnswerFile(RestApiOutput& output, - const std::string& instancePublicId, - FileContentType content) + void ServerContext::AnswerDicomFile(RestApiOutput& output, + const std::string& instancePublicId, + FileContentType content) { FileInfo attachment; if (!index_.LookupAttachment(attachment, instancePublicId, content)) @@ -176,7 +176,7 @@ const std::string& instancePublicId) { std::string s; - ReadFile(s, instancePublicId, FileContentType_JsonSummary); + ReadFile(s, instancePublicId, FileContentType_DicomAsJson); Json::Reader reader; if (!reader.parse(s, result)) @@ -188,7 +188,8 @@ void ServerContext::ReadFile(std::string& result, const std::string& instancePublicId, - FileContentType content) + FileContentType content, + bool uncompressIfNeeded) { FileInfo attachment; if (!index_.LookupAttachment(attachment, instancePublicId, content)) @@ -196,7 +197,15 @@ throw OrthancException(ErrorCode_InternalError); } - accessor_.SetCompressionForNextOperations(attachment.GetCompressionType()); + if (uncompressIfNeeded) + { + accessor_.SetCompressionForNextOperations(attachment.GetCompressionType()); + } + else + { + accessor_.SetCompressionForNextOperations(CompressionType_None); + } + accessor_.Read(result, attachment.GetUuid()); }