Bonjour à tous,
Voilà, j'expose le contexte avec ce que j'ai fait, et ce que j'ai pu faire, et le problème sur lequel je bloque depuis quelque temps.
Je suis en train de développer un serveur, un webservice en C++ avec la librairie de microsoft C++ Rest SDK.
J'ai pu setup mon serveur pour prendre en compte les requêtes HTTP en POST comme ceci:
Je récupère ma requête via ma méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int main(int argc, const char** argv) { http_listener listenerUpload(L"http://localhost/upload"); try { listenerUpload .open() .then([&listenerUpload]() {std::TRACE(L"\nServer started\n"); }) .wait(); while (true); } catch (std::exception const & e) { std::cout << e.what() << std::endl; } }
Le retour de ma requête "request.reply(200, file);" me retourne ça quand je lui passe par exemple une image:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void handle_uploadPostFile(http_request request) { is_authorized(request); //Cette methode sert à vérififier le token, sa validité, sa date d'expiration et les roles de l'utilisateur auto file = request.body(); //Je veux récupérer le fichier envoyé ici boost::filesystem::path path(boost::filesystem::current_path()); //Je crée l'adresse de mon répertoire ou je veux stocker mes fichiers reçu std::string storageFolder{ "\\media" }; std::string repository{ path.string() + storageFolder }; std::ofstream filePath(repository); filePath << file; request.reply(200, file); }
Je voudrais stocker ce fichier dans un dossier, je vous ai épargné tout les morceaux de code en commentaire après mes maintes tests.
En espérant que l'on puisse m'aider à résoudre enfin ce problème sur lequel je bute depuis un moment.
Merci d'avoir pris le temps de me lire et m'aider à me sortir de ce problème.
Partager