我的 node.js 流代码有什么问题?
what's wrong with my node.js stream code?
我的服务器中有一个 m4a 音频文件,我想在我的设备上获取它。
我可以用这个代码得到一个文件,但是我不能在我的 phone 和 PC 上播放它。
我认为文件传输有误。
你能给我一些建议吗?
(我的服务器上没有错误或警告消息)
app.get('/upload/:file',function(req,res){
console.log('download');
var filename = req.params.file;
var path = './disk/'+filename;
var stat = fs.statSync(path);
res.writeHead(200, {
'Content-Type': 'audio/m4a',
'Content-Length': stat.size
});
var readStream = fs.createReadStream(path);
readStream.setEncoding('utf8');
readStream.pipe(res);
console.log('done');
})
删除这一行:
readStream.setEncoding('utf8');
并且二进制数据将通过未修改的方式(对于这一行,它当前被解释为 utf-8 文本数据)。
我的服务器中有一个 m4a 音频文件,我想在我的设备上获取它。 我可以用这个代码得到一个文件,但是我不能在我的 phone 和 PC 上播放它。
我认为文件传输有误。 你能给我一些建议吗? (我的服务器上没有错误或警告消息)
app.get('/upload/:file',function(req,res){
console.log('download');
var filename = req.params.file;
var path = './disk/'+filename;
var stat = fs.statSync(path);
res.writeHead(200, {
'Content-Type': 'audio/m4a',
'Content-Length': stat.size
});
var readStream = fs.createReadStream(path);
readStream.setEncoding('utf8');
readStream.pipe(res);
console.log('done');
})
删除这一行:
readStream.setEncoding('utf8');
并且二进制数据将通过未修改的方式(对于这一行,它当前被解释为 utf-8 文本数据)。