Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJs如何写入文件_Node.js_Bittorrent - Fatal编程技术网

Node.js NodeJs如何写入文件

Node.js NodeJs如何写入文件,node.js,bittorrent,Node.js,Bittorrent,我正在尝试使用NodeJS将从internet获得的一些数据写入一个文件,但我得到的只是: 1fef bfbd 0800 0000 0000 0203 efbf bdef bfbd 63ef bfbd 7061 efbf bd2c efbf bdef bfbd 6ddb b66d efbf bdef bfbd 7edb b66d dbb6 6ddb b66d efbf bdef bfbd 7c7b efbf bdef bfbd 3367 26ef bfbd 46ef bfbd 5

我正在尝试使用NodeJS将从internet获得的一些数据写入一个文件,但我得到的只是:

1fef bfbd 0800 0000 0000 0203 efbf bdef  
bfbd 63ef bfbd 7061 efbf bd2c efbf bdef  
bfbd 6ddb b66d efbf bdef bfbd 7edb b66d  
dbb6 6ddb b66d efbf bdef bfbd 7c7b efbf  
bdef bfbd 3367 26ef bfbd 46ef bfbd 5f2b  
...  
我使用的是request和fs

request(  
    { method: 'GET'  
    , uri: url  
    }  
  , function (error, response, body) {  
    fs.writeFile(torrentFilePath, body, function(err) {  
    if(err) {  
        console.log(err);  
    } else {  
        console.log("The file was saved!");  
    }  
});  

这是我试图下载的
.torrent
文件,所以我想它可能有一些有趣的字符,这可能是问题所在?或者我错了。

我认为您需要对缓冲区进行如下编码:

buffer=新的缓冲区(主体“base64”)


fs.writeFile(torrentFilePath、缓冲区、函数(err){…})

您是否尝试将缓冲区编码为二进制

var b = require('bncode');
var dataToWrite = Buffer.from(b.encode(body), 'binary');

你试过用torrent程序打开吗?是的,我试过用torrent程序打开。但这是行不通的(我仍然得到十六进制的“文本”,它只是一些其他字符,现在我得到:72ef bfbd efbf bdef bfbd 69ef bfbd efbf bd01 7fef bfbd 5bef bfbd 155b 45ef bfbd 5bef bfbd 75ef bfbd 0d48 efbf bd17 efbf bfef bfbd efbFBD 61ef bfbd 2e58…它看起来像是在写缓冲区,而不是字符串。
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);