Главная страница
    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.044 c
15-1165320497
HRust
2006-12-05 15:08
2006.12.24
CGI не исполняются на сервере


15-1165231255
vitv
2006-12-04 14:20
2006.12.24
Посоветуйте книгу по Win2003


4-1155739454
webpauk
2006-08-16 18:44
2006.12.24
Проверка строковой переменной


2-1165120198
Tru
2006-12-03 07:29
2006.12.24
Компонент TDBLookupListBox


15-1164966092
Romkin
2006-12-01 12:41
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский