ディスクに保存せずにファイルをダウンロードし、ファイルの内容を応答に渡したい。本当に私はファイルをストリームとして取得し、それを応答に渡し、クライアントがファイルをダウンロードできるようにしたいと考えています。たとえば、以下の疑似コード ( iron-router、meteor、request を使用):
Router.route('/file/download', function() {
var res = this.response;
var query = this.params.query;
var id = query.id;
var request = Meteor.npmRequire('request');
var future = new (Npm.require('fibers/future'))();
request('http://myFileHosting.com/files/download?id='+ id, function (error, response, fileContent) {
if (!error && response.statusCode == 200) {
future.return(fileContent);
}
else
{
future.throw(error);
console.log(error);
}
});
var fileContent = future.wait();
res.end(fileContent);
}, { where: 'server' });
これを行う方法?
ディスクにダウンロードせずにファイルをオンザフライで応答するための実際のソリューションは何ですか?