如何将Buffer对象转换为Node.js中的文件?

时间:2014-12-31 16:47:21

标签: javascript mysql angularjs node.js

我正在使用(MySQL)EAN堆栈开发Web应用程序。我将png / jpg / pdf保存为MySQL中的BLOB。现在,我可以使用Sequelize.js

将它们作为Node.js中的Buffer对象进行检索
exports.loadUploadedFiles = function(req, res) {
    db.File.findAll().success(function(files) {
       //res.send(files[0].dataValues.data.toString('ascii')); // I have tried to convert a Buffer to ascii and sent it to Angular.js, however, I still don't know how to transform them to a file link.
       res.send(files); // How can I return the Buffer objects to Angular.js
    }).error(function(err) {
        console.log(err);
        res.sendStatus(500);
    });
};

我尝试了两种方法:

  • 将Buffer对象返回到Angular.js,然后找到一种从它们生成可下载链接的方法。

  • 使用bufferObject.toString('ascii')将Buffer对象转换为ascii,然后找到将这些ascii转换为可下载链接的方法

我一直在尝试一天,仍然无法在两种方法中弄明白:(任何建议都会受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

我认为#1是最佳选择。 将缓冲区转储到可公共访问目录中的文件系统上的文件可能是最好的选择。

FileSystem Write in Node