#include #include #include #include #include #include"Upload.h" using std::cout; using std::endl; using std::exception; using std::string; using json = nlohmann::json; using Managers::FileManager; using Models::API; using Models::Song; using Models::UploadForm; using namespace cpr; namespace Syncers { Upload::Upload() { } Upload::Upload(string filePath) { this->songPath = filePath; this->fMgr = FileManager(songPath); } Upload::Upload(API api) { this->api = api; this->api.endpoint = "song/data"; } Upload::Upload(UploadForm formData) { this->url = formData.url; this->songPath = formData.filePath; } void Upload::uploadSong() { try { auto r = cpr::Post(cpr::Url{url}, cpr::Multipart{{"key", "small value"}, {"file", cpr::File{songPath}}}); cout << r.status_code<< std::endl; cout<<"Success"<song = Models::Song{}; this->song.id = id; this->song.title = title; this->song.artist = artist; this->song.album = album; this->song.genre = genre; this->song.year = year; this->song.duration = duration; this->song.songData = fMgr.retrieveFileBuffer(); cout<<*song.songData<