Запуск загрузки браузера из внешнего интерфейса не является надежным.
Что вам нужно сделать, это создать конечную точку, которая при вызове будет предоставлять правильные заголовки ответа, таким образом вызывая загрузку браузера.
Код переднего плана может сделать только так много.Атрибут 'download', например, может просто открыть файл на новой вкладке в зависимости от браузера.
Заголовки ответа, которые вам нужно посмотреть, это, вероятно, Content-Type
и Content-Disposition
.Вы должны проверить этот ответ для более подробного объяснения.