2014-09-29 25 views
0

我想使用node.js和缓冲区将变量从http参数编码为base64。缓冲区base64编码一个变量node.js

我的代码:

var http = require("http"); 
var url = require("url"); 

http.createServer(function(req, res) { 

    var parsedUrl = url.parse(req.url, true); 
    var queryAsObject = parsedUrl.query; 
    var urlEncodeString = new Buffer(queryAsObject).toString('base64'); 

    console.log(urlEncodeString); 

    res.end(urlEncodeString); 

}).listen(8020); 

console.log("Server listening on port 8020"); 

URL中使用:http://127.0.0.1:8020/?test=testtxt

queryAsObject回报{ test: ‘testtxt’ }

是否有使用缓冲区读取变量queryAsObject与Base64编码,它的方法吗?

我花了大量的时间寻找缓冲区接受这个变量的方法,但是我找不到一个有效的方法。

回答

0

您首先需要JSON.stringify()您的对象。

变化:

var urlEncodeString = new Buffer(queryAsObject).toString('base64'); 

到:

var urlEncodeString = new Buffer(JSON.stringify(queryAsObject)).toString('base64');