我是Node JS的新手,希望能获得任何帮助/建议。
使用NodeJS,我已经创建了一个运行this link的本地服务器(这只是一个问候世界)
从那里开始,我使用了this stack overflow snippet,它根据发出的请求类型进行响应。
当reponse.method是get / post / etc时,我想更进一步。 -我希望回复内容是文件。
换句话说,我想从HTTP响应中返回一个文件。
理论上,类似:
if(request.method == "GET")
{
response.end("C:\[file path]\test.txt");
}
我只尝试在response.end('file directory')之后简单地复制/粘贴文件目录,但是没有打开我想要的文件。
const http = require("http");
const hostname = '127.0.0.1';
const port = 8091;
var server = http.createServer ( function(request,response){
response.writeHead(200,{"Content-Type":"text\plain"});
if(request.method == "GET")
{
response.end("received GET request.")
}
else if(request.method == "POST")
{
response.end("received POST request.");
}
else
{
response.end("Undefined request .");
}
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
答案 0 :(得分:1)
您可以发送文件数据,方法是先使用fs
模块的readFile
方法读取文件,然后再通过res.write()
发送,然后再发送res.end()
或仅发送{{ 1}},就像您所做的那样。这是一个示例:
res.end()
我在这里回答了类似的问题:https://stackoverflow.com/a/56285824/4882724