如何在MongoDB节点应用程序中将PDF保存为BLOB

时间:2016-12-12 10:30:57

标签: angularjs node.js mongodb pdf

我正在创建一个节点App。我需要在mongoDB中保存 PDF ,我遇到了实现这一目标的问题。

目前我正在使用ng-file-upload将PDF上传到服务器,并在节点上将multer上传到服务器上。然后,我在Mongo文档中保存PDF的位置。

但是,我想要的是将文件直接存储为文档中的BLOB,而不是“服务器中的文件位置”。有没有办法实现这个目标?

控制器

$scope.upload = function (file)
{
    Upload.upload({
        url: 'uploadImage',
        data: {file: file}
    }).then(function (resp) {
        console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
    }, function (resp) {
        console.log('Error status: ' + resp.status);
    }, function (evt) {
        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
        console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
    });
};

节点 - Multer

router.all('/uploadMulter',function (req,res,next) {
   upload(req,res,function(err) {
       if(err) {
           console.log('Error uploading file');
           return res.end("Error uploading file.");
       }
       console.log('success');
       res.end("File is uploaded");
   });
});

1 个答案:

答案 0 :(得分:0)

使用blob读取文件并以二进制格式获取数据并按下db。