Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cкачка части файла 
:(
    Опции темы
lukash256
Дата 17.6.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



Народ помогите! диплом стоит.
нужно "выдать" клиенту часть файла по http. к примеру с 300 байта по 800
делаю 
Код

procedure IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
AResponseInfo.ContentLength:=500;
AResponseInfo.ContentStream:=tFilestream.Create('E:\DPLOM\Share\498155-1.file',fmShareDenyNone);
AResponseInfo.ContentStream.Position:=300;
end;


а клиент получает первые 500 байт.
как сделать помогите. оч нужно!
PM MAIL ICQ   Вверх
Snowy
Дата 18.6.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Считай нужную часть файла в MemoryStream и отдай его.
PM MAIL   Вверх
lukash256
Дата 18.6.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



СПС. я так и сделал но при обьеме озу 2048мБ удалось скачать файл метров 300-350(((

а есть другие варианты?
PM MAIL ICQ   Вверх
Snowy
Дата 18.6.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Другой вариант - написать свой наследник от TFileStream, который не будет скидываться на начало.
Перекрыть у него Seek так, тобы он игнорировал смещение на начало файла.
PM MAIL   Вверх
lukash256
Дата 18.6.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



ясно. интересная идея, но я не совсем понял ты хочешь сделать наследник без Seek, или чтоб при вызове Seek(0,soFromBegin) выполнялось seek(300,sofromBegin).

(сейчас не дома) пишу по пямяти извеняйте за возможную не корректность но суть вроде передал
PM MAIL ICQ   Вверх
lukash256
Дата 18.6.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



Всмысле при Seek(0,soFromBegin) выполнять Seek(300,soFromBegin) ?

сори за возможную не сорректность пишу не с дома
PM MAIL ICQ   Вверх
Snowy
Дата 18.6.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Нет. Просто игнорировать ноль.
Если в параметре ноль - не выполнять никаких действий.
Иначе (если не ноль) вызывать inherited.
Таким образом ты заблокируешь установку в начало стрима и передача пойдёт с установленной ранее позиции.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.