Tôi đang cố gắng tải hình ảnh lên máy chủ web từ xa. Tôi đã sử dụng HTMLForm và FilePartSource. Tôi có thể tải ảnh thành công lên máy chủ cục bộ (ví dụ: loclhost) nhưng khi tôi thử tải lên máy chủ từ xa, phản hồi nhận được từ máy chủ web từ xa là "411 Độ dài bắt buộc". Tôi đã cố gắng đặt request.setContentLength (sizeofimagefile) nhưng vẫn là vấn đề tương tự. Có ai có thể hướng dẫn tôi về vấn đề này hay không. Đây là mã của tôi.POCO: Cách tải hình ảnh lên webser bằng poco trong 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();
Cảm ơn trước
trong setContentLength (sizeofimagefile), Bạn có bao gồm kích thước tham số "aaaaaa" và "cccccc" mà bạn gửi cùng với hình ảnh của mình trong DataBlock yêu cầu không? Nếu bạn sử dụng phương thức POST cho biểu mẫu của mình, các thông số này sẽ chuyển đến cùng một khóa dữ liệu mà hình ảnh bạn đang cố gắng tải lên. –