uses IdHTTP, IdMultipartFormData;
function UploadImage(FileName: String): String;
var
IdHTTP: TIdHTTP;
Stream: TIdMultipartFormDataStream;
Ext: String;
Response: String;
I: Integer;
begin
Result := '';
Ext := Copy(ExtractFileExt(FileName), 2, MaxInt);
if (Ext = 'jpg') then
Ext := 'jpeg';
IdHTTP := TIdHTTP.Create;
Stream := TIdMultipartFormDataStream.Create;
try
Stream.AddFile('userfile', FileName, 'image/' + Ext);
Stream.AddFormField('comp', 'ok');
Response := IdHTTP.Post('http://img.tomatone.net/index.php', Stream);
I := Pos('href=''big/', Response);
if I > 0 then
begin
Delete(Response, 1, I + 9);
I := Pos('''', Response);
if I > 0 then
begin
Result := 'http://img.tomatone.net/big/' + Copy(Response, 1, I - 1);
end;
end;
finally
IdHTTP.Free;
Stream.Free;
end;
end;