ОБСУЖДЕНИЕ

Как Сохранить Картинку

1 ответов 6,5 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Имеется адрес картинки, как ее сохранить, на компьютер?
 
Имеется адрес картинки, как ее сохранить, на компьютер?
По разному можно... :)
Например так:
Код:
uses Wininet, jpeg;

//...

implementation

{$R *.dfm}


function GetInetFile(const fileURL, FileName: string): boolean;
const
BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: file;
sAppName: string;
begin
Result := False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen);
until
BufferLen = 0;
CloseFile(f);
Result := True;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hSession);
end;
end;

//...

procedure TForm1.Button1Click(Sender: TObject);
var
FileOnNet, LocalFileName: string;
begin
FileOnNet := 'https://codeby.net/uploads/111.jpg';
LocalFileName := 'C:\111.jpg';

if (GetInetFile(FileOnNet, LocalFileName) = True) then
Image1.Picture.LoadFromFile(LocalFileName)
else
ShowMessage('Не получилось... :-(');

end;