From 7b3fd5f42aecb519eec5d285ceb484102c504e9d Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Thu, 14 Apr 2022 14:12:30 -0400 Subject: [PATCH] Fixing framework. --- src/RESTObjects/RESTAPI_SecurityObjects.h | 3 ++- src/storage/orm_avatar.cpp | 27 +++++++++++++++++------ src/storage/orm_avatar.h | 3 ++- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/RESTObjects/RESTAPI_SecurityObjects.h b/src/RESTObjects/RESTAPI_SecurityObjects.h index 899f0bb..eb52358 100644 --- a/src/RESTObjects/RESTAPI_SecurityObjects.h +++ b/src/RESTObjects/RESTAPI_SecurityObjects.h @@ -295,7 +295,8 @@ namespace OpenWifi { std::string type; uint64_t created=0; std::string name; - Poco::Data::LOB avatar; + // Poco::Data::LOB avatar; + Poco::Data::BLOB avatar; }; struct LoginRecordInfo { diff --git a/src/storage/orm_avatar.cpp b/src/storage/orm_avatar.cpp index d6a5a8f..3586eec 100644 --- a/src/storage/orm_avatar.cpp +++ b/src/storage/orm_avatar.cpp @@ -38,9 +38,9 @@ namespace OpenWifi { A.type = Type; A.name = Name; A.created = std::time(nullptr); - Poco::Data::LOBOutputStream OL(A.avatar); - OL << AvatarContent; - + // Poco::Data::LOBOutputStream OL(A.avatar); + // OL << AvatarContent; + A.avatar.appendRaw((const unsigned char *)AvatarContent.c_str(),AvatarContent.size()); // A.avatar.assignRaw(AvatarContent.c_str(), AvatarContent.size()); if (Exists("id", Id)) { @@ -73,21 +73,34 @@ namespace OpenWifi { Type = A.type; Name = A.name; if(StorageService()->Type() == DBType::pgsql) { - Poco::Data::LOBInputStream IL(A.avatar); - std::ostringstream os; +// Poco::Data::BLOBInputStream IL(A.avatar); + auto Content = A.avatar.content(); + for(const auto &c:Content) { + AvatarContent += (char) c; + } +/* while(IL.std::basic_ios::good()) { + char buf[16000]; + std::size_t Size = IL.readsome((unsigned char *)buf,16000); + AvatarContent += std::string{buf,Size}; + } +*/ +/* Poco::StreamCopier::copyStream(IL, os); + IL. std::string tmp = os.str().substr(2); AvatarContent.reserve(tmp.size()/2); for(size_t i=0;i // avatar + // Poco::Data::LOB // avatar + Poco::Data::BLOB // avatar > AvatarRecordTuple; typedef std::vector AvatarRecordTupleList;