Хорошим и стандартным способом обработки полей BLOB является протокол REST.
Благодаря протоколу REST вы можете получить, POST, PUT или DELETE двоичный BLOB из его URI. То есть, если ваш URI выделен для поля BLOB, вы сможете использовать необработанную двоичную передачу, а не передачу MTOM или Base64.
Например, вы можете получить BLOB-контент с ID = 123 с помощью GET по такому URI:
http://servername/service/123/blob
Он будет работать также из стандартного веб-браузера. Поэтому, если BLOB - это картинка, она должна отображаться прямо в браузере.
Используя POST для того же URI, вы добавляете новый BLOB-объект или PUT обновляете BLOB-объект. С глаголом DELETE ... вы удаляете его. Это то, что RESTful означает через HTTP.
Вот, например, как работает наша платформа mORMot. Он также может быстро иметь прямой доступ к базе данных Oracle на стороне сервера с некоторыми выделенными классами. Что хорошо с такой платформой на основе ORM, так это то, что высокоуровневые клиенты могут использовать объекты и обрабатывать гораздо больше, чем только большие двоичные объекты, и что она обрабатывает безопасность и аутентификацию на уровне URL .
Но вы можете легко написать свой собственный сервис, используя некоторые модули, доступные в mORMot, если вам не нужна вся функция RESTful ORM:
Это все с открытым исходным кодом, работает с Delphi 5 и более поздних версий. доступно много документации (более 600 страниц) , включая высокоуровневое представление таких концепций, как REST, ORM или n-Tier.