Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Докачка файл по http |
Автор: chiffa 12.12.2014, 03:34 | ||||
Всем доброе время суток. Есть код по скачиванию файла с сервера, поддержимающий паузу и придолжения закачки:
Все это вынесено в отдельный поток:
При остановке потока и продолжении по кнопке либо же просто ожидании окончания скачивания файла - все норм. Если же идет обрыв соединения, после восстановления качать продолжает вроде как с тех байт на которых оборвало, но при этом после завершения закачки архив битый... На стороне сервера отдача идет через Апачи, архив лежив в папке и к нему идет прямо обращение. Возможно проблемана тороне сервера?... и файл нужно отдавать как то "по особенному". Пробовал через ПХП с заголовками тогда Делфи просто не качает.... Подскажите: как правильно реализовать скачивание файла с докачкой? Буду весьпризнателен за помощь! Заранее спасибо! |
Автор: Illusion Dolphin 12.12.2014, 09:12 | ||||||||||||||
1) Отформатируйте код, ничего не понятно (в новых делфи нажмите хотя бы Ctrl+D) 2)
Уберите готу и забудьте про него, вместо него есть функции, for, while 3)
Нельзя из потока обращаться к визуальным компонентам без Synchronize 4)
А почему не до 10000000000 ? 5)
Заменяется на:
6)
А почему -1? 7)
А чем вам не угодил последний байт? Всё, я устал - исправьте хотя бы это. |
Автор: chiffa 12.12.2014, 10:18 |
гм... спасибо за ответ, а может есть пример более "адекватного решения" закачки файла с восстановлением?.... |
Автор: Illusion Dolphin 13.12.2014, 17:18 |
Я примера не знаю. В вашем случае более адекватно ещё проверять перед закачкой поддерживает ли сервер докачку, ибо если нет - не будет работать так. И ещё надо вам подумать над условием завершения цикла когда файл "закончился". |
Автор: rodnover 15.12.2014, 05:47 |
http://benramsey.com/blog/2008/05/206-partial-content-and-range-requests/ |