aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/ApiManagers/UploadManager.ts3
-rw-r--r--src/server/DashUploadUtils.ts12
2 files changed, 14 insertions, 1 deletions
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index c264803bd..854911277 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -64,11 +64,13 @@ export default class UploadManager extends ApiManager {
subscription: '/uploadFormData',
secureHandler: async ({ req, res }) => {
const form = new formidable.IncomingForm();
+ console.log('RECEIVED form: ');
form.keepExtensions = true;
form.uploadDir = pathToDirectory(Directory.parsed_files);
return new Promise<void>(resolve => {
form.parse(req, async (_err, _fields, files) => {
const results: Upload.FileResponse[] = [];
+ console.log('Parsed files: ');
if (_err?.message) {
results.push({
source: {
@@ -84,6 +86,7 @@ export default class UploadManager extends ApiManager {
for (const key in files) {
const f = files[key];
if (!Array.isArray(f)) {
+ console.log('uploading file...', f.name);
const result = await DashUploadUtils.upload(f, key); // key is the guid used by the client to track upload progress.
result && !(result.result instanceof Error) && results.push(result);
}
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index 1f23ae8c1..5187d0d6f 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -282,6 +282,7 @@ export namespace DashUploadUtils {
}
async function UploadPdf(file: File) {
+ console.log('upload pdf', file.name);
const fileKey = (await md5File(file.path)) + '.pdf';
const textFilename = `${fileKey.substring(0, fileKey.length - 4)}.txt`;
if (fExists(fileKey, Directory.pdfs) && fExists(textFilename, Directory.text)) {
@@ -290,16 +291,25 @@ export namespace DashUploadUtils {
const textFilename = `${fileKey.substring(0, fileKey.length - 4)}.txt`;
const readStream = createReadStream(serverPathToFile(Directory.text, textFilename));
var rawText = '';
- readStream.on('data', chunk => (rawText += chunk.toString())).on('end', () => res(resolveExistingFile(file.name, fileKey, Directory.pdfs, file.type, undefined, rawText)));
+ console.log('reading stream', file);
+ readStream
+ .on('data', chunk => {
+ console.log('Got chunk:' + chunk.size);
+ rawText += chunk.toString();
+ })
+ .on('end', () => res(resolveExistingFile(file.name, fileKey, Directory.pdfs, file.type, undefined, rawText)));
});
}
const dataBuffer = readFileSync(file.path);
const result: ParsedPDF | any = await parse(dataBuffer).catch((e: any) => e);
if (!result.code) {
await new Promise<void>((resolve, reject) => {
+ console.log('Got text write stream', file.name);
const writeStream = createWriteStream(serverPathToFile(Directory.text, textFilename));
writeStream.write(result?.text, error => (error ? reject(error) : resolve()));
+ console.log('write text stream', file.name);
});
+ console.log('moving', file.name);
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}` } };