2014-12-03 85 views
2

我正在开发带有nodejs的应用程序。我必须读取服务器上的本地文件,我正在使用此功能:如何提供使用fs.readFile读取的文件

fs.readFile(path, "utf8", function (err,data) {} 

我该如何为客户端提供'数据'?可以在新标签中打开或在客户端上下载。

--UPDATE - 我正在尝试使用这个解决方案..也是一个好方法吗?

res.writeHead(200, {"Content-Type": "application/pdf"}); 
res.write(data); 
res.end(); 

回答

2

假设你正在使用某种形式的HTTP服务器在这里,您会收到在处理一个response对象。这个对象实际上是一个流。我在这里使用内置的节点HTTP服务器。

http.createServer(function(req, res){ 
    fs.createReadStream(path).pipe(res); 
}); 

expresshapi有一个特定的发送文件响应类型,如果你使用这些:

哈皮:reply.file

快递:res.sendFile

+0

FS =需要('FS “); var path =“W:\\ xxxx”; fs.createReadStream(path).pipe(res);这种方式是正确的吗? – 2014-12-03 15:03:36

+0

@SimoneM是的。这是一种可以完成的方式。 – tkone 2014-12-03 18:12:50