Dưới đây là một ví dụ của việc sử dụng Indy để Đăng JPEG đến một máy chủ web chạy Gallery
Tôi đã có nhiều ví dụ về các loại công cụ này (tôi sử dụng chúng trong một bảo vệ màn hình tôi đã viết trong Delphi cho dự án Thư viện có sẵn here hoặc thông tin khác trên trang web của Thư viện here).
Bit quan trọng tôi giả sử là JPEG được truyền dưới dạng luồng.
procedure AddImage(const AlbumID: Integer; const Image: TStream; const ImageFilename, Caption, Description, Summary: String);
var
Response: String;
HTTPClient: TidHTTP;
ImageStream: TIdMultipartFormDataStream;
begin
HTTPClient := TidHTTP.Create;
try
ImageStream := TIdMultiPartFormDataStream.Create;
try
ImageStream.AddFormField('g2_form[cmd]', 'add-item');
ImageStream.AddFormField('g2_form[set_albumId]', Format('%d', [AlbumID]));
ImageStream.AddFormField('g2_form[caption]', Caption);
ImageStream.AddFormField('g2_form[force_filename]', ImageFilename);
ImageStream.AddFormField('g2_form[extrafield.Summary]', Summary);
ImageStream.AddFormField('g2_form[extrafield.Description]', Description);
ImageStream.AddObject('g2_userfile', 'image/jpeg', Image, ImageFilename);
Response := HTTPClient.Post('http://mygallery.com/main.php?g2_controller=remote:GalleryRemote', ImageStream);
finally
ImageStream.Free;
end;
finally
HTTPClient.Free;
end;
end;
Nguồn
2009-06-08 21:04:11
Hỗ trợ TIdHTTP cũng https? – Ampere
Có, TIdHTTP hỗ trợ HTTPS. http://stackoverflow.com/a/6693653/19183 –
Các tham số từ 'lParamList' có giống như các tham số chưa được phân tích của một yêu cầu đến máy chủ http delphi hay không (Tôi đang cố gửi một yêu cầu gửi tới máy chủ http delphi đã tạo) –