我有以下服务器:
http.createServer(function (req, res) {
fs.mkdir(__dirname + '/output', function (err) {
req.pipe(fs.createWriteStream(__dirname + '/output/file.txt'));
res.end();
});
}).listen(3000);
然后我使用请求将流传输到服务器。
var fs = require('fs');
var request = require('request');
var crs = fs.createReadStream(__dirname + '/file.txt');
var r = request.post('http://0.0.0.0:3000');
crs.pipe(r);
有时它可以工作,但大多数时候 /output/file.txt 是空的。当我将 req.pipe(...) 移到 mkdir 回调之外时,它每次都有效。有人可以解释为什么会这样吗?