如何解决无法使用Node js使用“简历解析器”在Firebase中解析简单的pdf
我正在尝试制作一个用于在Firebase中解析简单pdf的api。我可以在任何给定用户(使用Bearer令牌)下使用我的api上传简历,但是在上传pdf之后,我创建了pdf网址。然后使用该pdf url,我试图使用“ resume-parser”库来解析pdf,但是当我签入邮递员时似乎没有响应。
以下是制作api的代码:
const firebase = require("firebase");
firebase.initializeApp(config);
const dataBase = require("../models");
const axios = require("axios");
const moment = require("moment");
const User = dataBase.User;
//.... I have login and authentication code here and which are working fine.
// Then I want to use this pdf parsing code
exports.pdfparse2 = (req,res) => {
const BusBoy = require("busboy");
const path = require("path");
const os = require("os");
const fs = require("fs");
var busboy = new BusBoy({ headers: req.headers });
const bucket = admin.storage().bucket("mybucketname.appspot.com");
let mimtype;
var saveTo;
let pdfFileName;
busboy.on("file",function(name,file,filename,encoding,mimetype) {
console.log(
"File [" +
name +
"]: filename: " +
filename +
",encoding: " +
encoding +
",mimetype: " +
mimetype
);
const imageExtension = filename.split(".")[filename.split(".").length - 1];
var fname = filename + "." + imageExtension;
pdfFileName = filename;
saveTo = path.join(os.tmpdir(),filename);
file.pipe(fs.createWriteStream(saveTo));
mimtype = mimetype;
});
busboy.on("finish",async function() {
await bucket
.upload(saveTo,{
resumable: false,gzip: true,metadata: {
metadata: {
contentType: mimtype
}
}
})
.then(() => {
const pdfUrl = `https://storage.googleapis.com/mybucketname.appspot.com/${pdfFileName}`;
return db.doc(`/users/${req.user.userId}`).update({ pdfUrl });
ResumeParser.parseResumeUrl(pdfUrl) // url
.then(data => {
resumeData = {
link: pdfUrl
};
db.doc(`/users/${req.user.userId}`).set(
{
resumeList: admin.firestore.FieldValue.arrayUnion(resumeData)
},{ merge: true }
);
//console.log('Yay! ',data);
return res.status(200).json({
resume_data: data,resume_link: pdfUrl
});
})
.catch(error => {
console.error(error);
});
})
.then(() => {
return res.json({ message: "Image Uploaded Successfully" });
})
.catch(err => {
console.error(err);
return res
.status(400)
.send(JSON.stringify(err,["message","arguments","type","name"]));
});
res.end();
});
req.pipe(busboy);
};
然后我签入了邮递员,它只给我提供json输出{“ message”:“图像成功上传”}},但是pdf解析现在可以工作了。 postman.png
有人可以帮我吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。