Начните скачивание файла в браузере с асинхронного вызова - PullRequest
0 голосов
/ 30 января 2019

Я использую следующий маршрут для создания файла Excel.Excel создается правильно и создается в корневой папке, где также используется шаблон.xlsx, который я использую.

app.get('/proceso/:id', function(req, res)
{
            res.download( __dirname + "/report.xlsx")
});

Если я вызываю маршрут непосредственно в браузере, например localhost: 7555 /Process / 2 файл генерируется и загрузка начинается автоматически.

Я хочу использовать запрос получения ajax для вызова маршрута,

функция reporte_excel (idp) {

$.ajax({
type : "GET",
contentType : "application/json",
url : "/proceso/"+ idp,
success: function (data)
    {


    }
});

};

Теперь файл создан, но загрузка не начинается.Есть ли способ начать загрузку на стороне клиента внутри ajax success?Или как начать загрузку на стороне сервера?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Чтобы начать загрузку с res.download( __dirname + "/public/report.xlsx"), она должна соответствовать папке, объявленной app.use(express.static(__dirname + '/public'))

, поэтому при создании файла Excel она должна быть сгенерирована в соответствующей папке.

в моемдело это так

1008 *
0 голосов
/ 30 января 2019

Попробуйте

window.location = "URL to your file download script"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...