Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

передача файла в web-форму через HttpCli   Найти похожие ветки 

 
RA ©   (2006-07-31 09:30) [0]

1. На сайте есть форма, которая принимает файл. Выглядет она так:
<form method="post" action="http://some.net/test.php" enctype="multipart/form-data">
Upload file: <input type="file" name="inupfile" class="input">
<input type="submit" name="btnupload" id="btnupload" value="Upload">
</form>


2. В эту форму нужно передать файл с помощью компонента HttpCli, входящий в ICS.

Принимается всё - от ссылок на теорию до рекомендаций других компонент... :)


 
RA ©   (2006-08-02 16:08) [1]

Кто ищет тот всегда найдёт. Поэтому сам и отвечу - мож кому пригодится.
Использовал библиотеку Synapse и пример с неё. Пример немного измёнён чтоб можно было передавать параметр param1 через POST вместе с файлом.

function HttpPostFile(const URL, FieldName, FileName: string;
 const Data: TStream; const ResultData: TStrings): Boolean;
const CRLF = #$0D + #$0A;
var HTTP: THTTPSend;
   Bound, s: string;
begin
 Bound := IntToHex(Random(MaxInt), 8) + "_Synapse_boundary";
 HTTP := THTTPSend.Create;
 try

   //для передачи параметра param1 методом POST
   s := "--" + Bound + CRLF;
   s := s + "content-disposition: form-data; name="param1"" + CRLF + CRLF;
   s := s + "Value of param1" + CRLF;

   s := s+"--" + Bound + CRLF;
   s := s + "content-disposition: form-data; name="" + FieldName + "";";
   s := s + " filename="" + FileName +""" + CRLF;
   s := s + "Content-Type: Application/octet-string" + CRLF + CRLF;
   HTTP.Document.Write(Pointer(s)^, Length(s));
   HTTP.Document.CopyFrom(Data, 0);
   s := CRLF + "--" + Bound + "--" + CRLF;
   HTTP.Document.Write(Pointer(s)^, Length(s));
   HTTP.MimeType := "multipart/form-data, boundary=" + Bound;

   Result := HTTP.HTTPMethod("POST", URL);
   ResultData.LoadFromStream(HTTP.Document);
 finally
   HTTP.Free;
 end;
end;



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

Форум: "Сети";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.046 c
2-1165220128
NewOne
2006-12-04 11:15
2006.12.24
не запускается прога


15-1164796481
skiner
2006-11-29 13:34
2006.12.24
Ваше мнение о Троянописателях и Вирусописателях?


11-1141028471
homm
2006-02-27 11:21
2006.12.24
TextWidth удаляет DC канвы.


15-1164917477
Bew
2006-11-30 23:11
2006.12.24
Формула реккурентной последовательности.


15-1164991793
ReWD
2006-12-01 19:49
2006.12.24
Коммивояжер - минимальное оставное дерево





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский