nodejs使用(2)一个文件服务器

注意nodejs现在还不是稳定版本,api命名会不停变化,如writeHead,以前就叫作sendHeader...

process.cwd()服务器当前进程路径

测试,访问:http://localhost:8080/fileserver.js
可以看到浏览器把内容输出


fileserver.js


var sys = require("sys"),
http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs");

http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname;

var filename = path.join(process.cwd(), uri);
sys.puts(filename)
path.exists(filename, function(exists) {
if(!exists) {
response.writeHead(404, {"Content-Type": "text/plain"});
response.write("404 Not Found\n");
response.end();
return;
}

fs.readFile(filename, "binary", function(err, file) {
if(err) {
response.writeHead(500, {"Content-Type": "text/plain"});
response.write(err + "\n");
response.end();
return;
}

response.writeHead(200);
response.write(file, "binary");
response.end();
});
});
}).listen(8080);

sys.puts("Server running at http://localhost:8080/")


从中学习:
1,引入包
require(module)
2,request, response对象:
This object is created internally by a HTTP server--not by the user--and passed as argument to listener.
....
直接查看API文档吧:)说得相当直接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值