Sto provando a caricare un'immagine sul server web remoto. Ho usato HTMLForm e FilePartSource. Sono in grado di caricare correttamente l'immagine sul server locale (ad esempio il loclhost) ma quando provo a caricarlo sul server remoto, la risposta ricevuta dal server Web remoto è "411 Length Required". Ho provato a impostare request.setContentLength (sizeofimagefile) ma ancora lo stesso problema. Qualcuno può guidarmi su qual è il problema o. Ecco il mio codice.POCO: Come caricare l'immagine su webser usando poco in C++
HTMLForm htmlform;
htmlform.set("aaaaaa", "bbbbbbb");
htmlform.set("cccccc", "ddddddd");
htmlform.setEncoding(HTMLForm::ENCODING_MULTIPART);
PartSource * pFileSrc = new FilePartSource("filename", "application/octet-stream");
std::istream& mystream = pFileSrc->stream();
mystream.seekg(0, std::ios::end);
int uiLength = mystream.tellg();
htmlform.addPart("file", pFileSrc);
URI uri("yyy");
HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPRequest post_req(Poco::Net::HTTPRequest::HTTP_POST,"xxx",HTTPMessage::HTTP_1_1);
post_req.setKeepAlive(true);
htmlform.prepareSubmit(post_req);
std::ostream& oustr = session.sendRequest(post_req);
htmlform.write(oustr);
HTTPResponse res;
std::istream& rs = session.receiveResponse(res);
std::cerr << rs.rdbuf();
Grazie in anticipo
in setContentLength (sizeofimagefile), Hai inserito la dimensione dei parametri "aaaaaa" e "cccccc" che hai inviato con l'immagine nella richiesta DataBlock? Se usi il metodo POST per il tuo modulo, questi parametri vanno allo stesso datablock dell'immagine che stai cercando di caricare. –