ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Отправка Post
  #1  
Старый 16.07.2007, 01:19
batR
Новичок
Регистрация: 10.03.2007
Сообщений: 10
Провел на форуме:
148560

Репутация: 27
По умолчанию Отправка Post

Отправляю файл на php скрипт следующим кодом
Код:
procedure 
TForm2.Button2Click(Sender: TObject);
var FileName: string;response: string;
var formData: TIdMultiPartFormDataStream;
begin
FileName := 'c:\pic.gif';
formData := TIdMultiPartFormDataStream.Create;
formData.AddFile('File',fileName,'application/octet-stream');
formData.AddFormField('param1', 'value1');
//HttpObject.Port := Port;
response := idHTTP1.Post('http://myhost/ppost.php',formData);
Label1.Caption:= response ;
Memo1.Lines.Text:= response ;
end;
Можно ли прибабахать сюда индекатор отправки файла, тоесть например через каждую секунду проверять сколько отправилось и выводить это число в label
или через каждый килобыйт обновлять label

Последний раз редактировалось batR; 16.07.2007 в 01:22..
 
Ответить с цитированием

  #2  
Старый 17.07.2007, 02:13
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

Радикальный/самый оптимальный вариант;
sources/indy/idHTTPServer.pas и переписываешь компонент полностью под свои нужды... (потом его перекомпилить не забуть) :P
 
Ответить с цитированием

  #3  
Старый 17.07.2007, 23:08
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Создаешь обработчик события OnWork для IdHTTP.

В обработчике выводишь число прочитанных/отосланных байт:

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
if(AWorkMode=wmWrite) then
label2.Caption := 'Sent: '+intToStr(AWorkCount)+' bytes'
else
label2.Caption := 'Received: '+intToStr(AWorkCount)+' bytes';
Application.ProcessMessages();
end;
 
Ответить с цитированием

  #4  
Старый 18.07.2007, 04:05
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

а не проще через обычные socket()'ы ?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Энциклопедия уязвимых скриптов DIAgen Сценарии/CMF/СMS 401 17.06.2010 17:39
http. вопрос по пртоколу. x-treem PHP, PERL, MySQL, JavaScript 13 22.05.2007 23:49
как заменить Post /in Http/1.0? d4rk-d1G1T4L Чаты 0 07.05.2007 17:31
Отправка почты (php - скрипт) Майор PHP, PERL, MySQL, JavaScript 6 01.01.2006 20:20



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ