Я использую keystone.js, который использует express.js и jade, а также модуль npm pdf-extract.
Я пытаюсь настроить форму загрузки, которая извлекает PDF-файл и отображает текст в представлении в keystone.js.
У меня возникли проблемы с отображением события завершения обработки pdf-extract. Похоже, у меня есть рекурсия. У меня есть этот маршрут, upload.js
exports = module.exports = function(req, res) {
var view = new keystone.View(req, res),
locals = res.locals;
// Set locals
locals.section = 'upload';
locals.formData = req.body || {};
locals.validationErrors = {};
view.on('post', { action: 'upload' }, function(next) {
...
...file upload code
...
var processor = pdf_extract(absolute_path_to_pdf, options, function(err) {
if (err) {
res.end(util.inspect(err));
}
});
processor.on('complete', function(data) {
view.render('upload', {jadeVar:data.text_pages});
next();
}); //on processor.complete
}); //on view.post
view.render('upload'); //render on no post
Это выводит около двух десятков ошибок из pdf-экстракта о загруженном файле, который не найден рекурсивным способом.
Если я сделаю это:
processor.on('complete', function(data) {
res.end(util.inspect(data.text_pages));
});
Я получаю извлеченный текст в формате PDF, который я хочу, прямо в браузер без просмотра «загрузить». Я пытаюсь взять этот вывод и отправить его в представление «загрузить».