Nestjs 将上传的 pdf 解析为 json 而不将文件保存在目录中
Nestjs parse uploaded pdf to json without saving the file in the directory
我正在尝试上传一个 pdf 文件,然后我需要使用 pdf2json 解析它而不将文件保存在目录中,但 pdf2json 请求 loadPDF 中的目录路径。知道我能做什么吗?
https://www.npmjs.com/package/pdf2json
@Post('getFields')
@UseInterceptors(AzureStorageFileInterceptor('file'))
@UploadedFile() file?: UploadedFileMetadata){
if (!file || Object.keys(file).length === 0 ||file.constructor !== Object) {
throw UtilError.createErrorError('Missing file.');
}
const pdfParser = new PDFParser(file);
pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError) );
pdfParser.on("pdfParser_dataReady", pdfData => {
fs.writeFile(path.join(__dirname, './../../../../src/entities/skiplino/form/F1040EZ.json'), JSON.stringify(pdfData), function(){ console.log("done!") }
);
});
return await pdfParser.loadPDF(./../file);
}
只需使用pdfParser.parseBuffer(pdfBuffer);
并传入文件缓冲区即可。
您需要使用内置的 File Interceptor 而不是 AzureStorageFileInterceptor
我正在尝试上传一个 pdf 文件,然后我需要使用 pdf2json 解析它而不将文件保存在目录中,但 pdf2json 请求 loadPDF 中的目录路径。知道我能做什么吗?
https://www.npmjs.com/package/pdf2json
@Post('getFields')
@UseInterceptors(AzureStorageFileInterceptor('file'))
@UploadedFile() file?: UploadedFileMetadata){
if (!file || Object.keys(file).length === 0 ||file.constructor !== Object) {
throw UtilError.createErrorError('Missing file.');
}
const pdfParser = new PDFParser(file);
pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError) );
pdfParser.on("pdfParser_dataReady", pdfData => {
fs.writeFile(path.join(__dirname, './../../../../src/entities/skiplino/form/F1040EZ.json'), JSON.stringify(pdfData), function(){ console.log("done!") }
);
});
return await pdfParser.loadPDF(./../file);
}
只需使用pdfParser.parseBuffer(pdfBuffer);
并传入文件缓冲区即可。
您需要使用内置的 File Interceptor 而不是 AzureStorageFileInterceptor