
一 express框架接收
appget('/',function(req,res) { var url = reqqueryurl; var name = reqqueryname; consolelog(url, name);});
二 接收Get
1 get参数在requrl上
2 使用urlparse将数据由字符串转变为obj
indexjs:
var >
nodejs对文件的读写还是相当灵活的,可以根据不同的场景来选择不同的方法。
一直接 *** 作文件
最简单的两个fsreadFile和fswriteFile
举例:这个程序的功能是将一个比较大json格式的文件转换成你想自己要格式的文件。
var fs = require('fs');
fsreadFile('/jsonjson',function(err,data){
if(err) throw err;
var jsonObj = JSONparse(data);
var space = ' ';
var newLine = '\n';
var chunks = [];
var length = 0;
for(var i=0,size=jsonObjlength;i<size;i++){
var one = jsonObj[i];
//what value you want
var value1 = one['value1'];
var value2 = one['value2'];
var value = value1 +space+value2+space++newLine;
var buffer = new Buffer(value);
chunkspush(buffer);
length += bufferlength;
}
var resultBuffer = new Buffer(length);
for(var i=0,size=chunkslength,pos=0;i<size;i++){
chunks[i]copy(resultBuffer,pos);
pos += chunks[i]length;
}
fswriteFile('/resuttext',resultBuffer,function(err){
if(err) throw err;
consolelog('has finished');
});
});
它的原理是将文件数据一次性全部读入内存,优点就是接下来都是在内存的 *** 作,速度会很快。但缺点也很明显,就是当文件非常大时,会造成内存溢出。
二 使用文件流
21 读取文件,api相见:fscreateReadSream 和 fscreateWriterStream
以下代码实现的功能就是通过文件流来实现的复制:
var fs = require('fs');
var rOption = {
flags : 'r',
encoding : null,
mode : 0666
}
var wOption = {
flags: 'a',
encoding: null,
mode: 0666
}
var fileReadStream = fscreateReadStream('/myjpgjpg',rOption);
var fileWriteStream = fscreateWriteStream('/new_myjpgjpg',wOption);
fileReadStreamon('data',function(data){
fileWriteStreamwrite(data);
});
fileReadStreamon('end',function(){
consolelog('readStream end');
fileWriteStreamend();
});
这里再补充在流中非常有用的一个函数:pipe,它以用来把当前的可读流和另外一个可写流连接起来。可读流中的数据会被自动写入到可写流中。使用起来非常方便,依然实现上例中的功能:
var fs = require('fs');
var fileReadStream = fscreateReadStream('/myjpgjpg');
var fileWriteStream = fscreateWriteStream('/new_myjpgjpg');
fileReadStreampipe(fileWriteStream);
fileWriteStreamon('close',function(){
consolelog('copy over');
});
用这个函数可以轻松地实现一个静态资源服务器:
var >
使用nodejs如何读取memcache的示例程序,大家参考使用吧
代码如下:
var memcache = require('memcache')
, >
首先获取>
写一个html5网页,这个网页中的内容如下面所示,目标是获取这个表单中的name 和age数据,action是服务器地址和端口,文件名indexhtml
可以用浏览器来打开这个端口,如下图中所示,对浏览器无要求,基本上常用的浏览器都可以打开
在命令行中运行服务,node appjs,然后在第三步中的html页面上点击提交按钮。这时命令行中的显示如下,这样就得到了表单中post的数据,完成了html中数据从前端到后台的过程
同时 网页跳到如下所示
下面这里贴上测试代码
////////////////appjs///////
var >
var server = >
if(requrl!=="/faviconico"){
reqon('data',function(data){
consolelog("服务器接收到的数据: "+decodeURIComponent(data));
});
reqon("end",function(){
consolelog('客户端请求数据全部接收完毕');
});
}
resend();
})listen(1337,"localhost",function(){
consolelog("listened");
});
////////////////indexhtml///////
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Nodejs的data事件与end事件的回调函数测试用页面</title>
</head>
<body>
<form id= "form1" action = ">
姓名:<input type = 'text' name = "name" value ="dragon"><br/>
年龄:<input type = "number" name = "age" value ="25">
<input type = "submit" value =" 提交"/>
</form>
</body>
</html>
这是两个服务器之间的通讯,首先要有java服务器的IP,类似:11251147:8010,加上url。
nodejs向另一个服务器发送请求,使用>
以上就是关于nodejs 怎样知道请求是get或post全部的内容,包括:nodejs 怎样知道请求是get或post、nodejs 中express框架中request有哪些属性和方法、Node.js-nodejs可否读取远程文件到本地 有没有像php file等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)