картинку желательно не загружать в базу а складывать в папку на сервере (и лучше всего сжать до нужных размеров) и в базу вписать лишь путь до файла
вот мануалчик на пхп
http://php.net/manual/ru/features.file-upload.post-method.php
на delphi это просто составляем POST запрос
aURL - путь до скрипта, который будет принимать файлы
aFileName - полный путь до файла, который нужно отправить
var
aData: TMultipartFormData;
aHTTP: THTTPClient;
aResp: TStringStream;
begin
aResp := TStringStream.Create('', aEncoding);
aData := TMultipartFormData.Create();
aHTTP := THTTPClient.Create;
try
try
aData.AddFile('image', aFileName); // на php считываем по полю image
aHTTP.Post(aURL, aData, aResp);
Result := aResp.DataString; // тут скрипт должен что-то вернуть о успешном принятии
except
Result := TmyHTTPClient.ERROR_COMMON; // генерация своей ошибки, если что-то пошло не так
end;
finally
FreeAndNil(aHTTP);
FreeAndNil(aData);
FreeAndNil(aResp);
end;