Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente | |||
programmazione:crow:hello_world [22/01/2024 - 11:23] Fabio Di Matteo |
programmazione:crow:hello_world [27/01/2024 - 15:18] (versione attuale) Fabio Di Matteo |
||
---|---|---|---|
Linea 74: | Linea 74: | ||
</file> | </file> | ||
+ | |||
+ | ===== Upload di un file ===== | ||
+ | |||
+ | Salvataggio di un file inviato attraverso un form multipart. | ||
+ | |||
+ | <code cpp> | ||
+ | ... | ||
+ | CROW_ROUTE(app, "/save").methods(crow::HTTPMethod::POST)([=](const crow::request& req ){ | ||
+ | std::string root_folder="/home/fabio/progetto"; | ||
+ | crow::multipart::message msg(req); | ||
+ | crow::multipart::header myheader = msg.parts[0].get_header_object("Content-Disposition"); | ||
+ | //std::string myheader_value=myheader.value; | ||
+ | std::string outfile_name=myheader.params["filename"]; | ||
+ | CROW_LOG_ERROR << "File Name ->"+outfile_name; | ||
+ | | ||
+ | std::ofstream out_file(root_folder+"/"+outfile_name); | ||
+ | if (!out_file) | ||
+ | { | ||
+ | CROW_LOG_ERROR << " Write to file failed\n"; | ||
+ | return "Write to file failed!"; | ||
+ | } | ||
+ | out_file << msg.parts[0].body; | ||
+ | out_file.close(); | ||
+ | | ||
+ | return "ok"; | ||
+ | |||
+ | |||
+ | |||
+ | }); | ||
+ | </code> | ||
+ | |||
+ | <code html> | ||
+ | |||
+ | <!DOCTYPE html><html><head>\ | ||
+ | <title>Piso - Upload files</title>\ | ||
+ | <meta name=\"viewport\" content=\"width=1280, initial-scale=1\">\ | ||
+ | </head>\ | ||
+ | <body>\ | ||
+ | <h2>Upload a file</h2><hr/>\ | ||
+ | <form action=\"{{{action}}}\" method=\"post\" enctype=\"multipart/form-data\">\ | ||
+ | <input type=\"file\" id=\"myfile\" name=\"myfile\">\ | ||
+ | <button type=\"submit\">Upload this file</button></hr>\ | ||
+ | </form>\ | ||
+ | </body></html> | ||
+ | </code> | ||
+ | |||
+ |
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.