Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2016, 00:53
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Есть ли в JS средства наподобие сокетов или Curl?
Подскажите пожалуйста, есть ли какие-то сетевые функции в жс? В частности, возможно ли как-то контролировать процесс скачивания файла пользователем с целью отображения собственного прогрессбара? Или к примеру можно ли скачать средствами жс удаленный файл? Сделать нечто подобное while (!feof($f1)) fwrite($f2, fread($f1)); ?
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2016, 01:15
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

1. Нет. Можно скачать в память браузера, а потом отдать пользователью, но это гейская практика.
2. xmlhttprequest/fetch
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2016, 01:36
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Сообщение от Aetae Посмотреть сообщение
1. Нет. Можно скачать в память браузера, а потом отдать пользователью, но это гейская практика.
2. xmlhttprequest/fetch
1. Как это скачать в память браузера? Поясни пожалуйста или ссылкой кинь.
2. Да точно, аякс, только вопрос - скачал я допустим файл обычным способом через xmlhttprequest, а как после этого вызвать диалог сохранения скаченного файла? Ну или клик по ссылке инициировать, только ссылка НА ЧТО?
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2016, 01:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

1. См. пункт 2 из предыдущего поста.)
2. data:uri \ Blob, атрибут download.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2016, 02:05
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Круто, спасибо! Всё понял, то что надо!
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2016, 02:08
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Кстати, вопрос вдогонку - если есть большой буфер (скаченный файл) - если я сделаю buf = null; память освободится или нет? Или как правильно положено ее освободить?
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2016, 02:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Если просто буффер, то да. Но если создана ссылка на blob, то её необходимо освободить. Как и везде в javascript - объект не будет собран GC пока на него есть хотя бы одна ссылка.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 20.10.2016, 02:26
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Всё предельно понятно, теперь всё разрулено!
Ответить с цитированием
  #9 (permalink)  
Старый 20.10.2016, 03:22
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от iNfantry
контролировать процесс скачивания файла пользователем с целью отображения собственного прогрессбара
Интересно, зачем?
Когда файл скачивается традиционным способом, большинство современных браузеров и так показывают прогрессбар. Нахрена юзеру твой прогрессбар видеть?

И кстати, рассмотреный в топике вариант с блоком упирается в ограничения по размеру, что-то в районе 500 мб, по крайней мере полтора года назад так было, сейчас не знаю. К сожалению, аякс (пока) не умеет загружать прямо на диск, блоб формируется в оперативе. Потому на больших файлах отваливается.
Ответить с цитированием
  #10 (permalink)  
Старый 20.10.2016, 05:56
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Яростный Меч, где этот бар в ФФ? Было уже такое, я запомнил и когда закачивался бекап бд начал осматривать ФФ - никаких признаков жизни. Нажал Ctlr+J - увидел. Может я его спрятал этот бар?

ТСу. Прогресс на скачивание файла делается элементарно, ищи по слова js progress download
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript - классы, они есть или их нету в Javascript? Golovastik Javascript под браузер 39 15.02.2013 10:38
Найти проблему с jQuery или писать js? Saladdin Элементы интерфейса 0 17.03.2011 17:02
Что лучше: библиотека или чистый JS? `p r o x y Библиотеки/Тулкиты/Фреймворки 4 26.11.2010 11:16
Стоит ли учить JS? Или что то другое? aleks_valery Элементы интерфейса 1 06.08.2010 19:33
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37