Конференция "FreePascal" » помогите с TidMultiPartFormDataStream [Win32, linux]
 
  • Adventure (25.09.08 12:43) [0]
    Вот кусочек кода:
     
     Multi:=TidMultiPartFormDataStream.Create;

     Multi.AddFormField('data',data);
     Multi.AddFormField('public','on');
     Multi.AddFile('FILE',AttachePath+FileName,'image/jpeg');
     HTTP.Post('http://localhost/upload',Multi);

     Multi:.Free;

    Отправляются простые данные, файл не отправляется.
    В чем трабл?
  • Palladin © (25.09.08 14:13) [1]
    Content-Type нужный установить
  • Adventure © (25.09.08 14:24) [2]

    > Content-Type нужный установить

    Уточните плиз.
  • Palladin © (26.09.08 11:48) [3]
    TIdHTTP.Request.ContentType:='multipart/form-data'
  • marsden (13.10.08 10:27) [4]
    Прекрасно отправляется. Просто тут вопрос - чем на сервере разбор полетов идет?
    Вариант на perl

    #!/usr/bin/perl
    use CGI;

    print "Content-type: text/html\n\n";

    my $req = new CGI;
    $file = $req->param('FILE'); # получаем имя файла
    while($str=<$file>){ #используем переменную с именем файла как дескриптор
     print $str; #тупо выводим в браузер содержимое переданного файла
    }



    данный пример показателен для текстовых файлов, то есть что передали, то сразу и покажется. Для картинок и прочего двоичного содержимого потребуется применение BINMODE.
  • SuperPuperLesha © (18.11.08 17:46) [5]
    а можно выложить пример для передачи с картинок...
 
Конференция "FreePascal" » помогите с TidMultiPartFormDataStream [Win32, linux]
Есть новые Нет новых   [118476   +38][b:0][p:0.001]