| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Cкачка части файла |
| Автор: lukash256 17.6.2008, 20:59 | ||
| Народ помогите! диплом стоит. нужно "выдать" клиенту часть файла по http. к примеру с 300 байта по 800 делаю
а клиент получает первые 500 байт. как сделать помогите. оч нужно! |
| Автор: Snowy 18.6.2008, 11:40 |
| Считай нужную часть файла в MemoryStream и отдай его. |
| Автор: lukash256 18.6.2008, 14:44 |
| СПС. я так и сделал но при обьеме озу 2048мБ удалось скачать файл метров 300-350((( а есть другие варианты? |
| Автор: Snowy 18.6.2008, 15:14 |
| Другой вариант - написать свой наследник от TFileStream, который не будет скидываться на начало. Перекрыть у него Seek так, тобы он игнорировал смещение на начало файла. |
| Автор: lukash256 18.6.2008, 18:32 |
| ясно. интересная идея, но я не совсем понял ты хочешь сделать наследник без Seek, или чтоб при вызове Seek(0,soFromBegin) выполнялось seek(300,sofromBegin). (сейчас не дома) пишу по пямяти извеняйте за возможную не корректность но суть вроде передал |
| Автор: lukash256 18.6.2008, 19:57 |
| Всмысле при Seek(0,soFromBegin) выполнять Seek(300,soFromBegin) ? сори за возможную не сорректность пишу не с дома |
| Автор: Snowy 18.6.2008, 20:20 |
| Нет. Просто игнорировать ноль. Если в параметре ноль - не выполнять никаких действий. Иначе (если не ноль) вызывать inherited. Таким образом ты заблокируешь установку в начало стрима и передача пойдёт с установленной ранее позиции. |