Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как узнать закончил ли закачку файла клиент?


Автор: jeans1986 5.7.2007, 05:41
Как узнать закончил ли закачку фаила клиент и при окончании вывести окно с благодарностью. Т.е мне надо узнать момент окончания закачки файла. Заранее благодраю.

Автор: ksnk 5.7.2007, 08:51
Закачку к себе или на сервер?

Автор: jeans1986 5.7.2007, 14:27
закачку к себе на компьютер

Автор: ksnk 5.7.2007, 17:07
Вообще говоря - никак... 

Можно поизвращаться:
написать Ajax - сервис, который периодически получает процент загрузки с сервера, для этого
выдавать скрипт с помощью PHP скрипта, соответственно процент - позиция текущего чтения в файле.
после того как все это добро написано и минимально отлажено - стоит представить себе загрузку этого файла в многопоточном DownloadManager'е, с докачкой и прекачкой и согласится, что разумно употребленная лень позволит сэкономить время для остальной жизни... ;) 

Автор: szz 20.7.2007, 07:13
Цитата
получает процент загрузки с сервера, для этого
выдавать скрипт с помощью PHP скрипта, соответственно процент - позиция текущего чтения в файле.


Хехе, а как по-твоему PHP файл бужет узнавать текущий процент отправляемого файла? Чет я себе это не очень представляю smile

2 jeans1986, единственное решение (которое я знаю), это использовать фичи флеш плеера >=8, но разуцмеется тогда придется писать свою флешку для этого и, конечно, у клиента длжен стоять плеер (обычно есть), но в любом случае нужно или 
1. требовать флеш 
2. или еще и писать альтернативный способ - обыкновенный, безо всяких благодарностей. 

Твоя страница определяет, есть ли флеш, и запускает тот или иной вариант.


Кстати, с помощью флеша ты можешь также и закачивать управляемо файлы на сервер, показывая прогресс прям в браузере. 

Автор: ksnk 20.7.2007, 08:14
Цитата(szz @  20.7.2007,  07:13 Найти цитируемый пост)
Хехе, а как по-твоему PHP файл бужет узнавать текущий процент отправляемого файла? Чет я себе это не очень представляю 

smile А какая часть процитированного предложения осталась непонятна? 
Даунлодеров и прогресс баров и на PHP написано неслабое количество, достаточно поковырятся во фришных скриптах.

Автор: szz 20.7.2007, 08:21
короче, скачка вроде делается так: 
1. или дается просто линк на скачиваемый файл, например "file.zip"
2. или пропускается через собственный скрипт, например "get_file.php?x=file.zip"

во втором случае можно вываливать файл кусками, постоянно записывая в базу текущий процент вываливания, что и будет читать тот самый аяксовый демонстратор. Но нет никакой гарантии, что сервер сначала не подготовит файл, а потом уже будет выдавать.

а в первом случае это вообче невозможно, так как мы не управляем процессом - этим занимается сервер самостоятельно.

или я что-то не понимаю?

Автор: ksnk 20.7.2007, 08:43
Вероятно следует потренироваться не только читать и писать, но ищё с понимать прочтенное и написанное. smile Не побоюсь процитировать...
Цитата(ksnk @  5.7.2007,  17:07 Найти цитируемый пост)
выдавать скрипт с помощью PHP скрипта


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)