Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование файлов с HTTP ресурса


Страницы:   1 2

zdm77 ©   (2008-07-17 13:52:00) 

Добрый день.
Есть файл на http ресурсе, допустим http://www.qqq.qqq/1.txt, проверкой в браузере, все в порядке, доступ есть, предлогает сохранить...
Как средствами Delphi, если это возможно произвести копирование с http на локальный ресурс?
Спасибо.


brother   (2008-07-18 10:24:00) [1]

> d.ToFolder:='c:\1';

вот назвал его не правильно и путаешься... туда имя файла с путями передавать надо


brother   (2008-07-18 10:20:00) [2]

зы, в данном случае имя файла в TFileStream. передавать это твоя забота...откуда он знает про то что летит из TIdHTTP


zdm   (2008-07-18 10:20:00) [3]

пришел к выводу, что просто всетаки создавать на подобии
CreateFile('c:\1\1.txt'), GENERIC_READ,
                           (FILE_SHARE_READ or FILE_SHARE_WRITE), nil,
                           OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

ну а дальше все работает

может и есть где логика тут.. в принципе действительно контроль появляется.
Всем Спасибо еще раз


Поросенок Винни-Пух   (2008-07-18 10:19:00) [4]

Эка проблема. Все ссылки у него поди литералы. Имя файла тоже пусть будет литералом.


brother   (2008-07-18 10:18:00) [5]

> procedure TDownLoader.Execute;
> var
> http:TIdHTTP;
> str:TFileStream;
> begin
> //Создим класс для закачки
> http:=TIdHTTP.Create(nil);  
> //Поток для сохранения
> str:=TFileStream.Create( ToFolder, fmCreate); //вот сдесь
> ошибка (что значит что нет доступа? или просто я действительно
> встал в ступор...просто прошу помощи, код для вызова этого
> процесса дальше)
> try
>   //Качаем
>   http.Get( url,str);
> finally
>   //чистим
>   http.Free;
>   str.Free;
> end;

там и имя файла должно быть, я же тебе сказал об этом в [27], погляди выделенное внимательно...


Dennis I. Komarov   (2008-07-18 10:18:00) [6]

> [30] Поросенок Винни-Пух ©   (18.07.08 10:17)

Подозреваю в получении имени файла :)


Поросенок Винни-Пух   (2008-07-18 10:17:00) [7]

Ну и в чем твоя загвоздка?


zdm   (2008-07-18 10:14:00) [8]


> brother ©   (18.07.08 10:08) [27]

работает, яже написал, но мне, что, нужно CreateFile каждый раз делать, если я просто хочу скопировать

> brother ©   (18.07.08 10:10) [28]

это поток вызывает.. работает если есть такой файл 'c:\1\1.txt'; но я хочу просто с http ресурса скопировать файл в папку c:\1\ с темже что и у источника именем. Директория есть, файлов там может и не быть, точнее их там и не будет, они удаляются перед закачкой, это временная директория, а с http ресурса нужно взять новый файл, который переодически обновляется и положить по этому пути.


brother   (2008-07-18 10:10:00) [9]

> d:TDownLoader;

он наследник чего?


brother   (2008-07-18 10:08:00) [10]

> d.URL:=' http://www.qqq.qqq/1.txt';
> d.ToFolder:=' c:\1\1.txt';

я чет не понял, так чтоли не работает?


zdm   (2008-07-18 10:08:00) [11]

жесть.. CopyFile('источник','назначение',true) тоже не знает о типе он просто КОПИРУЕТ!!!! это и нужно


zdm   (2008-07-18 10:07:00) [12]

но если я говорю что копируй в c:\1.txt, то его нужно сначала создать, но это маразм какой-то я просто хочу скопировать файл http://www.qqq.qqq/1.txtс темже именем или другим в директорию c:\1 например.


brother   (2008-07-18 10:06:00) [13]

> он же не папку просит а конкретный файл

правильно, он же не знает что за тип файла скачивается и тыэто должен проконтролировать...


Поросенок Винни-Пух   (2008-07-18 10:06:00) [14]

это понятно, куда копировать вопрос ..в какой файл

копируй в c:\какой_файл.txt


brother   (2008-07-18 10:04:00) [15]

к какому обращался, такое же имя и оставляй, если хочещь можещь свое придумать, например ~123.tmp )


zdm   (2008-07-18 10:04:00) [16]

т.е. если источник ' http://www.qqq.qqq/1.txt'; это все норм.. а вот куда? он же не папку просит а конкретный файл, например в c:\1.txt ..


zdm   (2008-07-18 10:03:00) [17]

это понятно, куда копировать вопрос ..в какой файл


brother   (2008-07-18 10:02:00) [18]

> от куда я знаю что лежит на ресурсе,

что по твоему понятию ресурс?
в данном случае ресурс вот:
> d.URL:=' http://www.qqq.qqq/ 1.txt';


Поросенок Винни-Пух   (2008-07-18 09:57:00) [19]

от куда я знаю что лежит на ресурсе

ресурс и лежит.


zdm   (2008-07-18 09:55:00) [20]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо