【发布时间】:2014-05-09 06:14:02
【问题描述】:
我想将另一个文件夹或驱动器添加到我的 Node.js 服务器,但由于我是 Node.js 的菜鸟,所以我无法理解它。这是我到目前为止所做的,但它一直在崩溃。尝试了以下代码的几个版本,但似乎都不起作用。
var http = require("http");
var fs = require("fs");
var server = http.createServer(function(request, response) {
fs.readFile("C:/public" + request.url, function(error, data) {
response.writeHead(200, {"Content-type":"text/html"});
fs.readFile("D:/images" + request.url, function(error, data) {
response.writeHead(200, {"Content-Type":"image/jpg"});
response.write(data);
});
response.end(data);
});
});
server.listen(1337, "127.0.0.1", function() {
console.log("Listening on port 1337");
});
将来我很想添加更多来自内部和外部来源的文件夹,但由于我似乎连一个都无法添加,所以这可能有点牵强...
这是错误消息。
来自 cmd 提示符的错误消息:
Request received: /index.html
http.js:851
throw new TypeError('first argument must be in a string or Buffer');
^
TypeError: first argument must be a string or Buffer
at ServerResponse.OutgoingMessage.write (http.js:851:11)
at C:\serverpath\script.js:31:14
at fs.js:107:20
at Object.oncomplete (fs.js:107:15)
来自控制台的错误消息:
Failed to load resource: net::ERR_CONNECTION_REFUSED
【问题讨论】:
-
可以粘贴崩溃错误日志吗?
-
要从多个文件夹中读取,您需要使用数组创建某种循环并创建自定义函数来读取请求的文件。
-
另外,这段代码看起来不正确。这里还有一些安全问题。如果您是 Node.js 的新手,这里的答案中有一些很好的阅读材料:stackoverflow.com/questions/2353818/…
-
谢谢。我添加了崩溃错误。否则,当我不尝试添加另一个文件夹时,代码就可以正常工作。
-
在 Node 上编写 Web 服务器并不是那么简单!你试过用快递吗?添加路径(或“文件夹”)更简单。
标签: node.js