Ale*_*ato 5 binaryfiles stream node.js express
我需要从客户端(nodejs命令行)和服务器(表达nodejs)流式传输文件。
这是客户端:
var request = require('request');
var fs = require('fs');
// ...
var readStream = fs.createReadStream(file.path);
readStream.on('end', function() {
that.emit('finished');
});
readStream.pipe(request.post(target));
// ...
Run Code Online (Sandbox Code Playgroud)
这是服务器端:
var fs = require('fs');
var path = require('path');
// ...
app.post('/:filename', function(req, res) {
req.setEncoding('binary');
var filename = path.basename(req.params.filename);
filename = path.resolve(destinationDir, filename);
var dst = fs.createWriteStream(filename);
req.pipe(dst);
req.on('end', function() {
res.send(200);
});
});
// ...
Run Code Online (Sandbox Code Playgroud)
一切正常,文件已正确保存在服务器端...但是它们比源文件大50%。我尝试查看两个文件之间的区别,hexdump
并且服务器端文件的内容相似,但有时为0xC2。我想这与编码有关。
归档时间: |
|
查看次数: |
5286 次 |
最近记录: |