Javascript 如何将pdf文件保存到s3和本地以及节点js

Javascript 如何将pdf文件保存到s3和本地以及节点js,javascript,node.js,amazon-s3,fs,Javascript,Node.js,Amazon S3,Fs,我陷入了无法解决的困境。我正在上传文件并通过req.files获取它。我添加了中间件,它将文件上传到S3。我什么都试过了,但做不到。上传到S3工作正常,但无法将文件保存在本地路径中。当我尝试通过fs.writeFile时,它会保存已损坏的文件 有人能帮我吗 中间件功能 uploadToS3bucket: (path) => { return multer( { storage: multerS3({ s3:

我陷入了无法解决的困境。我正在上传文件并通过req.files获取它。我添加了中间件,它将文件上传到S3。我什么都试过了,但做不到。上传到S3工作正常,但无法将文件保存在本地路径中。当我尝试通过fs.writeFile时,它会保存已损坏的文件

有人能帮我吗

中间件功能

 uploadToS3bucket: (path) => {
    return multer(
        {
            storage: multerS3({
                s3: s3,
                acl: 'public-read',
                bucket: AWS_BUCKET_NAME,
                contentType: multerS3.AUTO_CONTENT_TYPE,
                metadata: function (req, file, cb) {
                    cb(null, {fieldName: file.fieldname});
                },
                key: function (req, file, cb) {
                    const params = Object.keys(req.params).map(key => {
                        return req.params[key]
                    }).join('/');
                    const key = path + '/' + params + (params.length > 0 ? '/' : '') + shortUUID.generate() + "-" + file.originalname;
                    cb(null, key)
                }
            })
        }
    )
}
路线

  router.post('/resume', uploadToS3bucket('temp').fields([
    {name: 'resume', maxCount: 1}
   ]), resumeCtrl.getUserResume);
我试过了

     // in metadata function

   fs.writeFile('python/resume_parser/data/input/resume/' + file.originalname, file, (err) => {
                     if (err) throw err;
                    });

它正在保存pdf,但已损坏。 有人能帮我吗?
谢谢

文件
是一个对象,而不是文件内容。在元数据中显示
console.log(file)
的输出,以查看在某些属性中是否有
Buffer
。这就是我得到的{fieldname:'resume',originalname:myResume.pdf',编码:'7bit',mimetype:'application/pdf',您正在将其保存到文件中,而这不是pdf。您不能在
元数据
功能中本地保存。我如何保存pdf以及任何解决方案?
   request({uri: 'http://localhost:3000/v1/user/resume', headers: { 'Content-type' : 'applcation/pdf', 'encoding': 'binary' }} , function (error, response, body) {
                      if (!error) {
                           fs.writeFile("python/resume_parser/data/input/resume/"+ file.originalname, body , function (err) {

                           });
                         }
                     })