我想在MEANJS项目中实现功能,以便从系统路径下载mp3文件
Example: /usr/local/setup/file.mp3
我想对有效用户进行安全检查,并允许用户下载mp3文件。
有没有其他方法可用于下载具有安全性的文件?
答案 0 :(得分:0)
我们可以使用下面的节点js函数
var path = require('path');
var fs = require('fs');
app.get('/api/download-music', function(req, res){
var filename = "file.mp3";
var filePath = path.join("/usr/local/setup/", filename);
var stat = fs.statSync(filePath);
res.writeHead(200, {
'Content-Type': 'audio/mp3',
'Content-Length': stat.size,
"content-disposition":"attachment; filename="+filename
});
var readStream = fs.createReadStream(filePath);
readStream.on('data', function(data) {
var flushed = res.write(data);
// Pause the read stream when the write stream gets saturated
if(!flushed)
readStream.pause();
});
res.on('drain', function() {
// Resume the read stream when the write stream gets hungry
readStream.resume();
});
readStream.on('end', function() {
readStream
.pipe(res);
});
});
}
在上面的节点js代码中,我们可以对会话ID进行安全检查。
在角度模板上我们可以在html下面使用:
<a href="/api/download-music" download target="_self">Download</a>