/TIdMultiPartFormDataStreamReader

TIdMultiPartFormDataStreamReader Allows you to read multipart / form-data type streaming

Primary LanguagePHP

TIdMultiPartFormDataStreamReader

TIdMultiPartFormDataStreamReader Allows you to read multipart / form-data type streaming and store all the contents of the form in fields, is an extension of TIdMultiPartFormDataStream of the Indy project. The constructor receive TIdHTTPRequestInfo Object from your events of TIdHTTPServer, how get, post, etc.

Example:

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);

var decoder: TIdMultiPartFormDataStreamReader;

begin

decoder := TIdMultiPartFormDataStreamReader.Create( ARequestInfo );

for x := 0 to decoder.Fields.Count - 1 do begin

campo := decoder.Fields.Items[ x ];

memo1.Lines.Add( campo.ContentType );

Memo1.Lines.Add( campo.ContentTransfer );

memo1.Lines.Add( campo.Charset );

Memo1.Lines.Add( campo.FieldName );

if ( campo.FileName <> '' ) then begin

  if ( campo.FieldStream <> nil ) then begin
  
    Memo1.Lines.Add( 'stream' );
    
    ima := TPngImage.Create;
    
    ima.LoadFromStream( campo.FieldStream );
    
    Image1.Picture.Assign( ima );
    
    ima.Free;
    
  end;
  
end else

  memo1.Lines.Add( campo.FieldValue );

Memo1.Lines.Add( '++++++++++++++++++++++++++++++' );

end;

end;