Javascript.RU

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

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

По запросу из базы получаю данные. Нужно эти данные оформить в файл и скачать. Для этого сделал метод с таким содержимым

var link = document.createElement('a'); // создаем пустой элемент
link.setAttribute('href','data:text/plain,' + csvStr);
link.setAttribute('download', 'file.csv');

document.body.appendChild(link); // для firefox
onload = link.click();


В csvStr содержится строка (данные из БД). Также может быть и данные в формате base64. И эти данные могут быть довольно большими (например, какой-нибудь PDF-файл, размером 20+ Мб).

Обычно сформированные файлы скачиваются. Но, видимо, когда размер этих файлов очень большой (тот же PDF-файл или данные на 80 000 строк в csv), то при скачивании возникает "Ошибка сети" (в google chrome).

Можно ли как-то решить эту проблему?
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2017, 20:51
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Такой способ формирования файла предполагает, что данные будут в оперативной памяти? значит ли это что чем больше ОЗУ, тем меньше шанс получить эту ошибку?

Или для браузеров есть какое-то ограничение в этом плане?
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2017, 21:21
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сообщение от tai Посмотреть сообщение
Или для браузеров есть какое-то ограничение в этом плане?
Есть: максимальная длина uri.

Ты всё равно делаешь запрос на сервер в базу, отдавай сразу файл, как нормальный человек.

P.S. Если же очень хочется по-хипстериски заняться растяжением собственного ануса - используй Blob.
__________________
29375, 35

Последний раз редактировалось Aetae, 27.11.2017 в 21:28.
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2017, 22:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от tai
тот же PDF-файл
PDF не является text/plain, а это означает ... Правильно сказали, к чему это все, если сервер сам спокойно отдаст.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скажите пожалуйта Где Скачать файл less.js ??? Hayko (X)HTML/CSS 4 05.01.2015 00:19
Как скачать файл через JS? Dimaz Events/DOM/Window 9 20.07.2014 22:20
drag-and-drop и position:fixed dotwatt Элементы интерфейса 5 05.12.2012 08:44
Как скачать файл с другого сайта Почемучкин Общие вопросы Javascript 4 23.10.2012 18:26
Скачать файл с использованием javascript Rockie Общие вопросы Javascript 12 26.09.2008 11:54