Indy - TIdHttp の Post でファイルをアップロード

Indy - TIdHttp の Post でファイルをアップロード

アップロード先のHTMLがこんな感じの場合
  1. <form action="upload.php" method="post" enctype="multipart/form-data">  
  2.   FileName <input type="file" name="upfile" size="30">  
  3.   <input type="submit" value="Upload">  
  4. </form>  

uses節に IdMultipartFormData を追加して
  1. procedure TForm1.Button1Click(Sender: TObject);  
  2.     var DataStream: TIdMultiPartFormDataStream;  
  3. begin  
  4.     DataStream := TIdMultiPartFormDataStream.Create;  
  5.     try  
  6.         DataStream.AddFile('upfile''c:\fuga.png''image/png');  
  7.         IdHTTP1.Post('http://hoge.com/upload.php', DataStream);  
  8.     finally  
  9.         DataStream.Free;  
  10.     end;  
  11. end;  

コメント