Node.js 如何显示已保存为缓冲区的文件?

Node.js 如何显示已保存为缓冲区的文件?,node.js,mongodb,buffer,electron,Node.js,Mongodb,Buffer,Electron,我将文件保存为mongo数据库中的缓冲区(使用mongoose、nodejs、electron)。现在,我对纯文本文件保持简单。我用电脑读了一个文件 fs.readFile(filePath, function(err, data) { if (err) {console.log(err);} typeof callback == "function" && callback(data); }); 然后,我使用data变量在数据库中创建一个新文件。现在,我在mo

我将文件保存为mongo数据库中的缓冲区(使用mongoose、nodejs、electron)。现在,我对纯文本文件保持简单。我用电脑读了一个文件

fs.readFile(filePath, function(err, data) {
    if (err) {console.log(err);}
    typeof callback == "function" && callback(data);
});
然后,我使用
data
变量在数据库中创建一个新文件。现在,我在mongodb中存储了一些类似于
BinData(0,“SGVsbG8gV29ybGQK”)
的东西。到目前为止一切都很好

现在,如果我想在UI中显示该文件呢?在这种情况下,电子?我认为有两个步骤

步骤1第一步是将此变量从数据库中取出并放入前端。仅供参考:该模型称为
File
,存储文件内容的变量称为
content

因此,我尝试了
File.content.toString()
,它给了我
对象{type:“Buffer”,data:Array[7]}
,这不是我所期望的字符串。这里发生了什么?我读到这应该行得通


步骤2显示此文件。现在,由于我现在只使用文本文件,我可以在步骤1开始工作后显示得到的字符串。但是,对于更复杂的文件,有没有一种好的方法可以做到这一点?图像和礼物等等

您应该保存文件mime

然后设置response.header.MIME

response.setHeader("Content-Type", "image/jpeg");

response.write(binary)

response.end()

所以没有回应,因为这是一个电子应用程序,不是网络应用程序。在其他什么地方可以这样做?告诉你的应用关于文件MIME和缓冲区。{type:“Buffer”,data:Array[7]}数据是Buffer数组。使用Buffer.concat(数据)获取所需的缓冲区。