У меня есть маршрутизатор, как показано ниже:
Router.route("/public/dicom/:dataid/:filename", function () {
var filePath = this.params.dataid + "/" + this.params.filename;
var basePath = process.env.HOME;
var filename = basePath + "/public/dicom/" + filePath;
// var filename = path.normalize(path.join(basePath, "public/dicom/" + filePath));
//console.log("+==================", filename)
var res = this.response;
if (!fs.existsSync(filename) ||
!fs.statSync(filename).isFile()) {
//console.log("==========================ERROR")
res.writeHead(404, { 'Content-Type': 'text/html' });
res.end('404: no such asset: ' + this.params.filename);
return;
}
var data = fs.readFileSync(filename);
res.writeHead(200, { 'Content-Type': "application/octet-stream", "charset": "binary" });
res.write(data);
res.end();
}, { where: "server" });
Просто прочитайте содержимое файла DICOM и верните клиент. Ответ вроде как
данные ответа
На сайте клиента я хочу использовать данные ответа в качестве данных arrayBuffer.
Пожалуйста, помогите мне!
PS: Когда я пытаюсь использовать данные ответа, я получаю сообщение об ошибке, например Uncaught TypeError: Cannot read property 'byteLength' of null
var dataOfPapaya = new Uint8Array(response.content);
console.log('dataOfPapaya', dataOfPapaya.byteLength);
var params = [];
// Configuration
params['binaryImages'] = [dataOfPapaya];
params['kioskMode'] = true;
params['showControls'] = false;
params["showOrientation"] = true;
params["radiological"] = true;
papaya.Container.startPapaya();
papaya.Container.resetViewer(0, params);
Я использую papayajs для просмотра файла DICOM: https://github.com/rii-mango/Papaya