40 lines
901 B
JavaScript
40 lines
901 B
JavaScript
import dicomImageLoader from '@cornerstonejs/dicom-image-loader';
|
|
|
|
import FileLoader from './fileLoader';
|
|
import PDFFileLoader from './pdfFileLoader';
|
|
import DICOMFileLoader from './dicomFileLoader';
|
|
|
|
class FileLoaderService extends FileLoader {
|
|
fileType;
|
|
loader;
|
|
constructor(file) {
|
|
super();
|
|
const fileType = file && file.type;
|
|
this.loader = this.getLoader(fileType);
|
|
this.fileType = this.loader.fileType;
|
|
}
|
|
|
|
addFile(file) {
|
|
return dicomImageLoader.wadouri.fileManager.add(file);
|
|
}
|
|
|
|
loadFile(file, imageId) {
|
|
return this.loader.loadFile(file, imageId);
|
|
}
|
|
|
|
getDataset(image, imageId) {
|
|
return this.loader.getDataset(image, imageId);
|
|
}
|
|
|
|
getLoader(fileType) {
|
|
if (fileType === 'application/pdf') {
|
|
return PDFFileLoader;
|
|
} else {
|
|
// Default to dicom loader
|
|
return DICOMFileLoader;
|
|
}
|
|
}
|
|
}
|
|
|
|
export default FileLoaderService;
|