Как настроить загрузку файлов в приложении с одной страницей без перезагрузки?Загрузка файлов в SPA
У меня была ситуация, когда на сервере генерируется файл PDF, который необходимо предоставить клиенту для загрузки. Отправка его в виде приложения/октетного потока ничего не помогает в SPA, потому что files can't be sent over AJAX.
Лучшее, что я придумал, это сохранение сгенерированного файла во временной папке на сервере, отправка URL-адреса файла клиенту и выполнение window.open(url)
. Проблема в том, что разные браузеры открывают файлы по-разному. Firefox, например, по умолчанию открывает PDF-файлы на одной вкладке, используя их PDF.js
, нарушая всю идею SPA. Но выполнение window.open(url, '_blank')
часто запускает блокировщики всплывающих окон и т. Д. Другие типы файлов могут привести к тому, что Бог знает, что ...
Есть ли кросс-браузерный, безопасный общий метод для загрузки файлов в SPA?
делает окно.open (url, '_new') имеет тот же эффект –