Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2018, 07:58
Новичок на форуме
Отправить личное сообщение для 7ver2009 Посмотреть профиль Найти все сообщения от 7ver2009
 
Регистрация: 30.07.2018
Сообщений: 9

Начать закачку файла пользователю (?)
Добрый день

Столкнулся со следующей задачей:
на бэк отсылается POST запрос с данными, по этим данным приходит CSV файл с выборкой договоров. Пользователь по клику на кнопку должен начать скачку этого файла.

Собственно вопрос: Как реализовать механику начала скачки файла пользователю?

Всегда имел дело с GET запросами, и реализовывал скачку через вставку url в href элемента ссылки. Но тут POST запрос, и от него сложно отказаться, слишком раздутое body с параметрами выборки.

Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2018, 08:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от 7ver2009
Всегда имел дело с GET запросами, и реализовывал скачку через вставку url в href элемента ссылки.
Ну а в данном случае не прямая ссылка будет, а серверным скриптом будет отдаваться файл, и JS тут вообще не нужен, если только речь не об асинхронном запросе.
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2018, 09:55
Новичок на форуме
Отправить личное сообщение для 7ver2009 Посмотреть профиль Найти все сообщения от 7ver2009
 
Регистрация: 30.07.2018
Сообщений: 9

Не совсем понял о чем вы. Я же не могу передать тело запроса через url, вставленный в href ссылки.
После POST запроса у меня в переменной CSV файл, который как-то нужно начать закачивать пользователю. Трабла в этом.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2018, 11:17
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Ну либо отправлять POST запрос через submit скрытой формы - дедовский метод, либо получать ответ как blob, ссылку на него через URL.createObjectURL(blob) и делать ссылку с атрибутом download.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2018, 11:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от 7ver2009
После POST запроса у меня в переменной CSV файл
В чьей переменной? Вы же пишите - "по этим данным приходит CSV файл с выборкой договоров", то есть файл создает и отдает сервер? А зачем серверу в этом случае JS? Если сервер сформировал и отдал файл, то его он может отдать программно.

В случае же асинхронного запроса или иного, например файл готовит клиент, тогда с BLOB работаем.
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2018, 12:15
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Ну и ещё классический вариант: запоминать в сессии параметры, и при обращении через обычную GET ссылку, брать параметры из сессии. Но это уже 2 запроса.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2018, 14:10
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

7ver2009,
https://developer.mozilla.org/ru/doc...nt-Disposition
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отследить загрузку файла с сервера bes Общие вопросы Javascript 5 08.03.2015 15:06
Не удается подключить javascript-код из отдельного файла Mack Events/DOM/Window 1 07.03.2015 17:05
Как узнать битрейт mp3 файла? Dimaz Общие вопросы Javascript 1 26.09.2014 18:01
Как изменить имя скачиваемого файла? Dimaz Общие вопросы Javascript 4 13.09.2014 16:25
Подгрузка информации через DIV с обработкой файла на стороне сервера Azartno jQuery 1 26.05.2012 15:07