Skip to content

Commit

Permalink
feat: remove pretty json when response
Browse files Browse the repository at this point in the history
feat: add retrieve single instance bulkdata
  • Loading branch information
Chinlinlee committed Nov 3, 2021
1 parent 0aa9254 commit 992fe54
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 2 deletions.
2 changes: 1 addition & 1 deletion api/dicom-web/controller/metadata.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ function replaceBinaryData(data) {
let binaryKeys = [];
let flatDicomJson = flat(data);
for (let key in flatDicomJson) {
if (key.includes("7FE00010")) continue;
//if (key.includes("7FE00010")) continue;
if (flatDicomJson[key] == "OW" || flatDicomJson[key] == "OB") {
binaryKeys.push(key.substring(0, key.lastIndexOf(".vr")));
}
Expand Down
43 changes: 43 additions & 0 deletions api/dicom-web/controller/wado-rs-instances-bulkdata.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
const mongodb = require("../../../models/mongodb");
const _ = require('lodash');
const uuid = require('uuid');
const fs = require('fs');

/**
*
* @param {import('express').Request} req
* @param {import('express').Response} res
* @returns
*/
module.exports = async function (req , res) {
let key = req.params.objKey;
let studyUID = req.params.studyUID;
let seriesUID = req.params.seriesUID;
let instanceUID = req.params.instanceUID;
let metadata = await mongodb["dicomBulkData"].findOne({
$and: [
{
studyUID: studyUID
},
{
seriesUID: seriesUID
},
{
instanceUID: instanceUID
},
{
filename: new RegExp(key , "gi")
}
]
});
let bulkData = fs.readFileSync(`${process.env.DICOM_STORE_ROOTPATH}${metadata._doc.filename}`);

const BOUNDARY = `${uuid.v4()}-${uuid.v4()}`;
res.set("Content-Type" , `multipart/related; type=application/octet-stream; boundary=${BOUNDARY}`);
res.write(`--${BOUNDARY}\r\n`);
res.write(`Content-Type:multipart/related; type=application/octet-stream; boundary=${BOUNDARY}\r\n`);
res.write('Content-length: ' + bulkData.length + '\r\n\r\n');
res.write(bulkData);
res.write(`\r\n--${BOUNDARY}--`);
return res.end();
}
5 changes: 5 additions & 0 deletions api/dicom-web/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ router.get('/studies/:studyID/series/:seriesID' ,require('./controller/wado-rs')
router.get('/studies/:studyID/series/:seriesID/instances/:instanceID' , require('./controller/wado-rs'));
//#endregion

//#region wado-rs-bulkdata
router.get('/studies/:studyUID/series/:seriesUID/instances/:instanceUID/bulkdata/:objKey' , require('./controller/wado-rs-instances-bulkdata'));

//#endregion

//#region frameNumber
router.get('/studies/:studyID/series/:seriesID/instances/:instanceID/frames/:frameList' , require('./controller/wado-rs-framenumber'));

Expand Down
2 changes: 1 addition & 1 deletion routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
module.exports = function (app, passport) {

app.set('json spaces', 4);
//app.set('json spaces', 4);

app.get('/login', function (req, res) {
if (req.user) {
Expand Down

0 comments on commit 992fe54

Please sign in to comment.