diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/ApiManagers/UploadManager.ts | 3 | ||||
-rw-r--r-- | src/server/DashUploadUtils.ts | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts index 4dc58d611..095567be1 100644 --- a/src/server/ApiManagers/UploadManager.ts +++ b/src/server/ApiManagers/UploadManager.ts @@ -19,7 +19,8 @@ export enum Directory { videos = "videos", pdfs = "pdfs", text = "text", - pdf_thumbnails = "pdf_thumbnails" + pdf_thumbnails = "pdf_thumbnails", + audio = "audio" } export function serverPathToFile(directory: Directory, filename: string) { diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts index ea4c26ca2..e5aec852f 100644 --- a/src/server/DashUploadUtils.ts +++ b/src/server/DashUploadUtils.ts @@ -82,6 +82,19 @@ export namespace DashUploadUtils { return { source: file, result: new Error(`Could not upload unsupported file (${name}) with upload type (${type}).`) }; } + async function uploadAudio(file: File) { + const { path: sourcePath } = file; + const dataBuffer = readFileSync(sourcePath); + + await new Promise<void>((resolve, reject) => { + const name = path.basename(sourcePath); + const audioFilename = `${name.substring(0, name.length - 4)}.mp3`; + const writeStream = createWriteStream(serverPathToFile(Directory.audio, audioFilename)); + writeStream.write(result.text, error => error ? reject(error) : resolve()); + }); + return MoveParsedFile(file, Directory.audio); + } + async function UploadPdf(file: File) { const { path: sourcePath } = file; const dataBuffer = readFileSync(sourcePath); |