|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
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 ? |
#2
|
||||
|
||||
TIdMultipartFormDataStream
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
У меня под рукой нету (не пишу на Delphi уже полгода), но гугл всемогущий тебе поможет
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
|||
|
|||
Цитата:
А мне нужно наоборот разобрать данные PostStream. А вот чем не знаю. |
#6
|
|||
|
|||
Как читать сами переменные POST я разобрался.
Но файлами остлся вопрос, подскажите пожалуйста как допустим читать полученные данные с определенного места? Код:
Content-Disposition: form-data; name="Filename" DSC03262242.jpg ------------ei4ei4KM7ei4Ef1KM7KM7ae0cH2ae0 Content-Disposition: form-data; name="Filedata"; filename="DSC03262242.jpg" Content-Type: application/octet-stream |
#7
|
||||
|
||||
http://stackoverflow.com/questions/1...formdatastream
Цитата:
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |