利用fs.readdir()函数访问服务器指定目录里的内容
2014-11-15 11:17
239 查看
使用node命令运行app.js文件,使用curl或网页输入URL访问服务器指定目录所包含的内容,如访问根目录下的opt文件夹,测试结果如下:
curl:
网页:
服务器:
app.js源码如下:
var http=require('http'),
fs=require('fs');
var files;
function ll(callback){
fs.readdir(dir,function(err,files){
if(err){
callback(err);
return;
}
callback(null,files);
console.log(files);
});
}
function handle_incoming_request(req,res){
console.log("INCOMING REQUEST: "+req.method+" "+req.url);
console.log(req.url.split('/'));
dir=req.url;
ll(function(err,files){
if(err){
res.writeHead(503,{"Content-Type":"application/json"});
res.end(JSON.stringify(err));
return;
}
var out={error:null,files:files};
res.writeHead(200,{"Content-Type":"application/json"});
res.end(JSON.stringify(out));
});
}
http.createServer(handle_incoming_request).listen(8080);
解释:
console.log(req.url.split('/'));在本程序中并无太大意义,但有必要指出的是,如果访问的地址是http://localhost:8080,那么req.url就等于根目录符号'/',如果要对req.url进行解析分组,使用String.split()函数时,需要注意,若req.url=='/',则req.url.split('/')==[""],返回的数组有一个元素,而且该元素为空,如果req.url=='/opt/Sublime',则req.url.split('/')==["","opt","Sublime"],利用'/'符号划分返回的第一个数组的元素始终都是空
另外需要注意的一点是fs.readdir()函数的第一个指示路径的字符串参数中连续的‘/’符号表示一个‘/’符号,如"//////"表示根路径符号"/",而"////home//////////jason"则等价与"/home/jason"
fs.readdir()函数可以实现类似Linux中显示当前文件夹下内容的ll命令,只是ll显示的信息更全面,而fs.readdir()函数只返回文件名称数组。
curl:
网页:
服务器:
app.js源码如下:
var http=require('http'),
fs=require('fs');
var files;
function ll(callback){
fs.readdir(dir,function(err,files){
if(err){
callback(err);
return;
}
callback(null,files);
console.log(files);
});
}
function handle_incoming_request(req,res){
console.log("INCOMING REQUEST: "+req.method+" "+req.url);
console.log(req.url.split('/'));
dir=req.url;
ll(function(err,files){
if(err){
res.writeHead(503,{"Content-Type":"application/json"});
res.end(JSON.stringify(err));
return;
}
var out={error:null,files:files};
res.writeHead(200,{"Content-Type":"application/json"});
res.end(JSON.stringify(out));
});
}
http.createServer(handle_incoming_request).listen(8080);
解释:
console.log(req.url.split('/'));在本程序中并无太大意义,但有必要指出的是,如果访问的地址是http://localhost:8080,那么req.url就等于根目录符号'/',如果要对req.url进行解析分组,使用String.split()函数时,需要注意,若req.url=='/',则req.url.split('/')==[""],返回的数组有一个元素,而且该元素为空,如果req.url=='/opt/Sublime',则req.url.split('/')==["","opt","Sublime"],利用'/'符号划分返回的第一个数组的元素始终都是空
另外需要注意的一点是fs.readdir()函数的第一个指示路径的字符串参数中连续的‘/’符号表示一个‘/’符号,如"//////"表示根路径符号"/",而"////home//////////jason"则等价与"/home/jason"
fs.readdir()函数可以实现类似Linux中显示当前文件夹下内容的ll命令,只是ll显示的信息更全面,而fs.readdir()函数只返回文件名称数组。
相关文章推荐
- 编写一个程序,首先用opendir函数打开用户指定的目录,然后调用readdir函数读取该目录内容
- 函数用途:同一域名对应多个IP时,获取指定服务器的远程网页内容
- 需求:将指定目录(包含内容)复制到另一个目录中(利用字节流复制文本文件)
- 利用Windows Service,定时监控某一目录,发现新文件后自动上传到指定web服务器
- Linux下递归遍历指定目录下的文件内容并删除的函数实现
- 实现通过ip地址访问远端服务器下tomcat指定目录下项目的相关配置
- 利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
- Delphi7 中利用Indy的TidFtp客户端控件实现在服务器指定目录下下载需要的文件
- 利用SQLDMO返回SQL服务器指定的目录列表
- Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹——Jason niu
- 利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
- 利用Windows的本地安全策略限制指定的IP访问服务器
- 【ColdFusion】读取指定Excel中的内容,并且上传到服务器指定目录
- ASP利用XML打包指定文件夹 并上传到WEB目录中,自行解包
- MOSS Search学习记录(五):利用元数据和规则搜索多个列表中指定范围的内容
- MOSS Search学习记录(四):利用规则搜索指定文件夹的内容
- C++中打开指定目录的函数
- C++中打开指定目录的函数
- ASP利用XML打包指定文件夹 并上传到WEB目录中,自行解包
- “/”应用程序中的服务器错误——已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中