You can use Indy's TIdHTTP
component, eg:
uses
..., IdHTTP;
var
FileName: string;
Strm: TMemoryStream;
begin
FileName := TagPath + Tags.Names[Index] + '.jpg';
if not FileExists(FileName) then
begin
try
Strm := TMemoryStream.Create;
try
HTTP := TIdHTTP.Create(nil);
try
HTTP.Get('http://www.myurl.com/images/' + Tags.Names[Index] + '.jpg', Strm);
finally
HTTP.Free;
end;
Strm.Position := 0;
Strm.SaveToFile(FileName);
finally
Strm.Free;
end;
except
FileName := ExtractFilePath(Application.ExeName) + 'Template.jpg';
end;
end;
imgTag.Picture.LoadFromFile(FileName);
end;