aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/index.ts10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/index.ts b/src/server/index.ts
index 49fc78191..a265853ff 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -52,6 +52,7 @@ import { Opt } from '../new_fields/Doc';
import { DashUploadUtils } from './DashUploadUtils';
import { BatchedArray, TimeUnit } from 'array-batcher';
import { ParsedPDF } from "./PdfTypes";
+import { reject } from 'bluebird';
const download = (url: string, dest: fs.PathLike) => request.get(url).pipe(fs.createWriteStream(dest));
let youtubeApiKey: string;
@@ -608,10 +609,11 @@ app.post(
const { type, path: location, name } = files[key];
const filename = path.basename(location);
if (filename.endsWith(".pdf")) {
- var filePath = uploadDirectory + filename;
- let dataBuffer = fs.readFileSync(filePath);
- pdf(dataBuffer).then(async function (data: ParsedPDF) {
- fs.createWriteStream(pdfDirectory + "/" + filename.substring(0, filename.length - ".pdf".length) + ".txt").write(data.text);
+ let dataBuffer = fs.readFileSync(uploadDirectory + filename);
+ const result: ParsedPDF = await pdf(dataBuffer);
+ await new Promise<void>(resolve => {
+ const path = pdfDirectory + "/" + filename.substring(0, filename.length - ".pdf".length) + ".txt";
+ fs.createWriteStream(path).write(result.text, error => error === null ? resolve() : reject(error));
});
} else {
await DashUploadUtils.UploadImage(uploadDirectory + filename, filename).catch(() => console.log(`Unable to process ${filename}`));