Bir dosya indirmek için kullanıyorum bir sunucu tarafı yolu var. Bu bir istemci tarafı düğme tıklaması denir ve her şey iyi çalışıyor. Ancak, düğmeye bir kez tıklandığında, başka bir rota yüklenene kadar tekrar çalışmayacak ve geri döneceksiniz. Düğmeyi birden çok kez tıklatıp sunucu tarafı rotası her seferinde tetiklenecek şekilde nasıl kodlayabilirim?Sunucu tarafı yolu dosyayı indirmek için
Benim düğme kodu
BelkiRouter.route('/download_document/:_id', function() {
//Get the file record to download
var file = files.findOne({_id: this.params._id});
//Function to take a cfs file and return a base64 string
var getBase64Data = function(file2, callback) {
var readStream = file2.createReadStream();
var buffer = [];
readStream.on('data', function(chunk) {
buffer.push(chunk);
});
readStream.on('error', function(err) {
callback(err, null);
});
readStream.on('end', function() {
callback(null, buffer.concat()[0].toString('base64'));
});
};
//Wrap it to make it sync
var getBase64DataSync = Meteor.wrapAsync(getBase64Data);
//Get the base64 string
var base64str = getBase64DataSync(file);
//Get the buffer from the string
var buffer = new Buffer(base64str, 'base64');
//Create the headers
var headers = {
'Content-type': file.original.type,
'Content-Disposition': 'attachment; filename=' + file.original.name
};
this.response.writeHead(200, headers);
this.response.end(buffer, 'binary');
}, { where: 'server' });
Bunu yapabilirim ancak bu sunucu tarafında bir çalışma çözümüm var ve her seferinde sıfırlamak istediğim yol. Bunun mümkün olup olmadığını bilmek istiyorum. – mdgsoftware
Ayrıca, standart bir sunucu tarafı yüklemesi üzerinden çözümünüzün performans etkisini anlamak ister misiniz? – mdgsoftware
Performans ile ilgili olarak, basit, dosyayı bir kez istemciye indirin. Sonraki Saat Sadece tıklayarak aynı dosyayı alır, Sunucu – webdeb