Показать сообщение отдельно
  #1  
Старый 28.09.2014, 23:57
magsim magsim вне форума
Прохожий
 
Регистрация: 03.09.2009
Сообщения: 7
Репутация: 10
По умолчанию IDHttpServer POST данные?

Всем доброе время суток!
Подскажите пожалуйста как используя компонент IdHttpServer
получить:
1. Переменные POST
2. Файлы переданные в POST
В данный момент пробовал следующий код:
Код:
procedure TForm1.serverCommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
 str,str_fil:string;
 fil:string;
 ext:string;
 PostedFile:TMemoryStream;
 text:string;
 tsr : tsearchrec;
 foto_list:string;
begin
  str := StringReplace(arequestinfo.document,'/','\',[rfReplaceAll]);
  Delete(str,1,1);
  str_fil := ExtractFileName(str);
  fil := patch+'server\'+str;
  ext := ExtractFileExt(str_fil);
  if(str_fil  = 'upload.php')then
   begin
     PostedFile:=TMemoryStream.Create;
     PostedFile.LoadFromStream(ARequestInfo.PostStream);
     PostedFile.SaveToFile(patch+'server\script\user\0\'+UTF8Decode(ARequestInfo.Params.Values['namesendfile']));
      PostedFile.SaveToFile(patch+'server\script\user\0\m\m_'+UTF8Decode(ARequestInfo.Params.Values['namesendfile']));
     AResponseInfo.WriteContent;
     AddLog('Файл загружен: '+UTF8Decode(ARequestInfo.Params.Values['namesendfile']));

     PostedFile.Free;
     ARequestInfo.PostStream.Free;
     exit;
   end;

Файл приходит и записывается в папку, но файл имеет лишению информация которая была отправленная вместе с файлом в POST
Код:
------------ei4ei4KM7ei4Ef1KM7KM7ae0cH2ae0
Content-Disposition: form-data; name="Filename"

DSC03262242.jpg
------------ei4ei4KM7ei4Ef1KM7KM7ae0cH2ae0
Content-Disposition: form-data; name="Filedata"; filename="DSC03262242.jpg"
Content-Type: application/octet-stream

яШяа JFIF ,,  ябµExif  II*          ћ       ѕ    	   Г ............  (это данные самого изображения) 

Вопрос^
1. как принять только файл?
2. Как принять переменные переданные в POST ?
Ответить с цитированием