diff options
author | bobzel <zzzman@gmail.com> | 2022-09-26 17:29:14 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2022-09-26 17:29:14 -0400 |
commit | c89d1bf84a352b40749deeddf39591020550cd31 (patch) | |
tree | fea23fe54b24d747557f46dc66e069635f56acdb | |
parent | d98db79837171d364d7897ac9b7bc6771af2a2a7 (diff) |
generate error when pdf parsing fails (eg., needs password)
-rw-r--r-- | src/server/DashUploadUtils.ts | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts index 5aa22e432..58ec6558b 100644 --- a/src/server/DashUploadUtils.ts +++ b/src/server/DashUploadUtils.ts @@ -232,7 +232,8 @@ export namespace DashUploadUtils { return { source: file, result: { name: 'Unsupported video format', message: `Could not upload unsupported file (${name}). Please convert to an .mp4` } }; case 'application': if (applicationFormats.includes(format)) { - return UploadPdf(file); + const val = UploadPdf(file); + if (val) return val; } case 'audio': const components = format.split(';'); @@ -267,12 +268,15 @@ export namespace DashUploadUtils { }); } const dataBuffer = readFileSync(file.path); - const result: ParsedPDF = await parse(dataBuffer); - await new Promise<void>((resolve, reject) => { - const writeStream = createWriteStream(serverPathToFile(Directory.text, textFilename)); - writeStream.write(result.text, error => (error ? reject(error) : resolve())); - }); - return MoveParsedFile(file, Directory.pdfs, undefined, result.text, undefined, fileKey); + const result: ParsedPDF | any = await parse(dataBuffer).catch((e: any) => e); + if (!result.code) { + await new Promise<void>((resolve, reject) => { + const writeStream = createWriteStream(serverPathToFile(Directory.text, textFilename)); + writeStream.write(result?.text, error => (error ? reject(error) : resolve())); + }); + return MoveParsedFile(file, Directory.pdfs, undefined, result?.text, undefined, fileKey); + } + return { source: file, result: { name: 'faile pdf pupload', message: `Could not upload (${file.name}).${result.message}` } }; } async function UploadCsv(file: File) { |