diff options
author | Oleg Morozenkov <reo7sp@users.noreply.github.com> | 2017-01-26 00:32:22 +0300 |
---|---|---|
committer | Oleg Morozenkov <reo7sp@users.noreply.github.com> | 2017-01-26 00:32:22 +0300 |
commit | 85e0e991973594fb458410876a1cc09c5971b918 (patch) | |
tree | 08186c9e9f58cdb617b9b63d583f535b1c884b72 /src | |
parent | 3549754e53f79e9ba0b00fb0bbded5d56a14ef51 (diff) |
Helper method for loading files. Photo upload example. Fixes #24
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/FileTools.cpp | 25 | ||||
-rw-r--r-- | src/types/InputFile.cpp | 24 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/tools/FileTools.cpp b/src/tools/FileTools.cpp new file mode 100644 index 0000000..1522a9d --- /dev/null +++ b/src/tools/FileTools.cpp @@ -0,0 +1,25 @@ +// +// Created by Oleg on 25.01.17. +// + +#include "tgbot/tools/FileTools.h" + +#include <fstream> +#include <sstream> + +using namespace std; + +namespace FileTools { + +std::string read(const std::string& filePath) { + ifstream in(filePath, ios::in | ios::binary); + if (in) { + ostringstream contents; + contents << in.rdbuf(); + in.close(); + return contents.str(); + } + throw errno; +} + +}; diff --git a/src/types/InputFile.cpp b/src/types/InputFile.cpp new file mode 100644 index 0000000..0f6cb86 --- /dev/null +++ b/src/types/InputFile.cpp @@ -0,0 +1,24 @@ +// +// Created by Oleg Morozenkov on 25.01.17. +// + +#include "tgbot/types/InputFile.h" + +#include <fstream> + +#include "tgbot/tools/StringTools.h" +#include "tgbot/tools/FileTools.h" + +using namespace std; + +namespace TgBot { + +InputFile::Ptr InputFile::fromFile(const string& filePath, const string& mimeType) { + InputFile::Ptr result(new InputFile); + result->data = FileTools::read(filePath); + result->mimeType = mimeType; + result->fileName = StringTools::split(filePath, '/').back(); + return result; +} + +}; |