Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2016, 11:07
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Скачивание файла
Добрый день!

Мы отправляем запрос на сайте и получаем ответ. Этот ответ нужно сохранить в файл и скачать. Сам ответ приходит в base64. Сохранить нужно в zip-архиве

<button type="button" class="btn btn-primary" onClick="saveUploadList()">Выгрузить
</button>


var link = document.createElement('a');
link.setAttribute('href','data:application/zip;base64,' + Base64._utf8_decode(data));
link.setAttribute('download','list.zip');
onload = link.click();


Не скачиваются файлы в mozilla firefox. В хроме и яндексе работает.
В чем может быть дело? Может быть не тот mime-тип? Сейчас используется data:application/zip




Тоже самое и для текстовых фалов. мозила не скачивает

Пробовал поставить готовую ссылку в html

<a download="file_downloaded_via_data_URL.txt"
           href="data:text/plain;base64,текст_в_base64">
            Download text file
        </a>


В этом случае мозила скачала файл. При этом для zip это не сработало

Последний раз редактировалось tai, 08.09.2016 в 11:26.
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2016, 11:25
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Если писать напрямую в html, то надо было прописать
data:application/zip,application/octet-stream;

Но вот почему не отрабатывает через js-события
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2016, 11:51
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Сообщение от tai Посмотреть сообщение
Если писать напрямую в html, то надо было прописать
data:application/zip,application/octet-stream;

Но вот почему не отрабатывает через js-события
Тут ошибся: файл скачивается, но не открывается. А если просто использовать application/zip, то выводит "Ошибка сети"
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2016, 13:06
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Так выдает "Ошибка сети" при скачивании (в хроме)
В мозиле также ничего не происходит
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2016, 13:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

tai,
а нормально отдать файл сервером, что никак?
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2016, 14:04
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

нет. никак
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2016, 14:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от tai
нет. никак
Странно.
Ответить с цитированием
  #8 (permalink)  
Старый 09.09.2016, 08:07
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

размер может/должен быть любым
архив на котором проверяю - 500 байт
Ответить с цитированием
  #9 (permalink)  
Старый 09.09.2016, 11:55
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

1. почему гугл хром это ограничение игнорирует?
2. подскажите, есть какой-нибудь другой способ скачивать файлы (при получении ответа (ответ - строка в base64) нужно сформировать и скачать файл)?
Ответить с цитированием
  #10 (permalink)  
Старый 09.09.2016, 19:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от tai
подскажите, есть какой-нибудь другой способ скачивать файлы
К какому серверу запрос с которого эти данные приходят - к своему или стороннему? Если к своему, то зачем эти грабли. Если к стороннему, то можно сделать через свой сервер.
Ответить с цитированием
Ответ



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

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


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