@tc-libs/file-handler
v3.6.1
Published
Layer applicativo sopra `@tc-libs/file` e `@tc-libs/storage` per elaborazione e persistenza file.
Readme
@tc-libs/file-handler
Layer applicativo sopra @tc-libs/file e @tc-libs/storage per elaborazione e persistenza file.
Espone:
FileHandlerModuleFileHandlerServiceFileHandlerTextServiceFileHandlerVideoService
Registrazione
FileHandlerModule.register(
{
image: {
quality: 80,
},
resizes: [
{ suffix: 'thumb', width: 256, height: 256 },
],
},
true,
);FileHandlerService
Funzioni principali:
convertToBytes('10MB')handleFile(file, options?)handleFiles(files)getFileInfo(file)hashName(name)
Nel codice attuale il flusso principale implementato riguarda soprattutto le immagini:
- upload su storage
- eventuali resize
- generazione nome hashato
FileHandlerTextService
Permette di estrarre testo da:
- plain text
- ODT
- DOCX
- PowerPoint
Esempio:
const text = await this.fileHandlerTextService.extractText(file);FileHandlerVideoService
Funzioni principali:
getDuration(buffer, filename)convertToLowQualityAudio(...)convertToLowQualityVideo(...)generateThumbnail(...)
Richiede ffmpeg/ffprobe disponibili nell'ambiente.
Nota operativa
L'entry service FileHandlerService oggi gestisce soprattutto immagini; i rami video/audio nel metodo handleFile sono commentati, quindi per quei casi va usato direttamente FileHandlerVideoService o estesa la logica.
Sviluppo
nx build file-handler
nx test file-handler