Я разрабатываю веб-приложение, где пользователь нажимает кнопку, а вызов JQuery AJAX переходит на NodeJS-сервер, который, в свою очередь, извлекает записи из Elastic Search. Я хочу, чтобы эти записи записывались в CSV-файл и отправляли этот файл в AJAX в качестве ответа, доступного для загрузки в браузере. Как я могу это достичь?Отправить файл от NodeJS в ответ на JQuery AJAX
0
A
ответ
0
var fs = require('fs');
var stream = fs.createReadStream(pathToFile);
stream.on('error', function(){
console.log('404 -------- ', pathToFile);
});
stream.pipe(res);
var destroy = require('destroy'); // nam i destroy --save
var onFinished = require('on-finished'); // nam i on-finished --save
onFinished(res, function (err) {
destroy(stream)
})
0
$(document).ready(function() {
$(".export").on('click',function(){
var project_id="<?php echo $_GET['project_id'];?>";
$.ajax({
type:"GET",
url: 'https://work.readycontacts.com/True_Validate/download_file.php',
data: "project_id=" + project_id,
success:function(data){
console.log(data);
}
});
return false;
});
});
экспорта является функция, боб клик и вы можете заменить download_file.php с nodejs загрузить файл кода
затем загрузить файл с помощью nodejs передать этот http://stackoverflow.com/questions/17558126/ask -ser-where-to-save-file-with-node-js и этот http://stackoverflow.com/questions/16847416/download-dialog-not-displaying –