Delphi. DataSnap. Как передать файл (изображение) с клиента на сервер по частям с помощью строки, запакованной в вариантный массив ?

В данном посте, будем передавать файл (изображение) по частям. Я сделал этот алгоритм в надежде передавать большие файлы в СУБД, но к сожалению, при моих тестах результат был таким же как если бы я передавал файл как одно целое. То есть, файлы, в районе 3 мб. грузятся нормально, а при больших размерах, система начинает висеть…

Думаю, в будущем можно будет попробовать в самой СУБД попробовать сделать хранимую процедуру, которая будет конкатенировать BLOB поля. Скажем, если картинка 10 МБ, а мы успешно можем грузить по 3 МБ., то тогда мы можем загрузить 4 раза. 3+3+3+1, а в процедуре прописать конкатенацию в след. поле и удаление вспомогательных…

В любом случае, привожу данный алгоритм…

Что делаем на сервере?

Объявим в классе TServerMethods1 методы

Объявим глобальную переменную

В implementation напишем вспомогательную функцию…

Напишем реализацию методов серверного класса

 

Что делаем на клиенте?

Напишем вспомогательную функцию…

А также обработку на кнопку на форме клиента…