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

Вниз

Пересылка файлов посредством NMHTTP   Найти похожие ветки 

 
Vint45   (2003-09-13 14:48) [0]

Здраствуйте! Для пересылки файлов я использую компонент TNMHTTP и его метод POST:

nmhttp.Post(" http://localhost/cgi-bin/aaa.cgi","c:\test.txt");

При передаче маленьких файлов все проходит нормально, но если размер файла превышает 8192 байт, то файл обрубается. Это ограничение протокола? или я что не так делаю?
Принимающая программа (CGI) на веб-сервере использульзует стандартное устройство ввода-вывода:

StdIn:=GetStdHandle(STD_INPUT_HANDLE);
Size:=SetFilePointer(StdIn,0,nil,FILE_END);
SetFilePointer(StdIn,0,nil,FILE_BEGIN);
SetLength(STR,Size+1);
if (Size <= 0) then Exit;
ReadFile(StdIn, STR[1], Size, Actual, nil); // Читаем данные из стандартного устройства ввода


 
Fay   (2003-09-13 18:29) [1]

8192 - это размер сендбуфера. Шли кусками 8)


 
Vint45   (2003-09-13 18:55) [2]

Можно ли изменять этот буфер?
И еще, у меня не получается отослать файл обратно с сервера. Если для получения файла я использую конструкцию описанную выше, то для записи в стандартный поток ввода-вывода я использую:

StdOut:=GetStdHandle(STD_OUTPUT_HANDLE);
SetFilePointer(StdOut,0,nil,FILE_BEGIN);
WriteFile(StdLOut, STR[1], Size, Actual, nil);

и не получаю ответа на клиенте... видимо надо еще формировать заголовок. Только как с ним я не эксперементировал, желаемых результатов нет.



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
1-41412
Вован
2003-11-04 16:29
2003.11.13
Как узнать разрешение экрана в пикселях (X,Y) у юзера?


1-41579
McSimm2
2003-11-04 11:08
2003.11.13
Как нарисовать иконку в MenuItem


1-41415
Ломброзо
2003-10-29 17:06
2003.11.13
ListBox и LB_ITEMATPOS


7-42196
AnthreX
2003-08-25 02:48
2003.11.13
Hook на клавиатуру.


3-41097
MPS
2003-10-23 10:58
2003.11.13
Error: Fields XX not found