Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Загрузка файлов с инет.   Найти похожие ветки 

 
djaUser   (2008-04-14 14:58) [0]

Подскажите пожалуйста, в какую сторону копать, необходимо организовать закачку файлов с сервера по хттп наверное.
Суть такая, что на сервере (стандартный юникса хост с пхп и т.п.) лежат файлы. Юзер в проге  должен ввести логин и пасс и получает список файлов, выбирает и прога качает что надо.
Опыта в данной теме никакого.
Подскажите какие библиотеки желательно использовать или бебехи того же Indy и можно ли на сервере php скрипт сделать что бы проверял логин и отдавал нужный файл.
Извините, если каламбур написал, только пытаюсь разобраться..


 
Dennis I. Komarov ©   (2008-04-14 15:10) [1]

1. До лампочки какой у Вас там сервер
2. Писать вообще ничего не надо. Уже все давно написали.
3. Надо настроить Http-сервер


 
djaUser   (2008-04-14 15:11) [2]

Допустим с проги я вызываю скрипт примерно так:
http://..../readFile.php?file=file.rar

Допустим php скрипт будет возвращать что-то типа:

header("Content-Type: application/rar");
header("Content-Disposition: attachment; filename=file.rar");
readfile("file.rar");

как этот файл в моей проге и получить сразу?


 
djaUser   (2008-04-14 15:14) [3]

Dennis I. Komarov,  хм... если вас не затруднит можно немножко подробнее что такое "Http-сервер" и что заключается в его настройке..


 
Dennis I. Komarov ©   (2008-04-14 15:32) [4]

Это то, у кого делаешь запрос http://
А теперь в библиотеку


 
djaUser   (2008-04-14 16:00) [5]

вообщем пока читаю файл так:

function GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
 hSession, hURL: HInternet;
 Buffer: array[1..BufferSize] of Byte;
 BufferLen: DWORD;
 f: File;
 sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),               INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
 hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
 try
  AssignFile(f, FileName);
  Rewrite(f,1);
  repeat
   InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen); BlockWrite(f, Buffer, BufferLen)
  until BufferLen = 0;
  CloseFile(f);
  Result:=True;
 finally
  InternetCloseHandle(hURL)
 end
finally
 InternetCloseHandle(hSession)
end
end;

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



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
4-1188388045
ElectriC
2007-08-29 15:47
2008.05.11
Экранная заставка


6-1186234118
r.o.o.t
2007-08-04 17:28
2008.05.11
Организация тунеля помогите...


2-1208092380
Снежинка
2008-04-13 17:13
2008.05.11
Вычисление среднего балла


2-1208242787
Zloy_Funtik
2008-04-15 10:59
2008.05.11
Сохр. данных нескольких мемо полей относительно одного параметра


2-1207975946
Danco
2008-04-12 08:52
2008.05.11
Свернуть и развернуть приложение.