Ich möchte direkt ein Verzeichnis in einen Poco :: HTTPServerResponse-Stream komprimieren. Das Herunterladen der Zip-Datei, die mit dem folgenden Code erstellt wurde, führt jedoch zu einem beschädigten Archiv. Ich weiß, dass der folgende Komprimierungsansatz für lokal erstellte ZIP-Dateien funktioniert, da ich so viel erfolgreich gemacht habe. Was fehlt mir oder ist das einfach nicht möglich? (Poco v1.6.1)Stream Poco Zip-Komprimierung zu Poco HTTPServerResponse
std::string directory = "/tmp/data";
response.setStatusAndReason(HTTPResponse::HTTPStatus::HTTP_OK);
response.setKeepAlive(true);
response.setContentType("application/zip");
response.set("Content-Disposition","attachment; filename=\"data.zip\"");
Poco::Zip::Compress compress(response.send(),false);
compress.addRecursive(directory,
Poco::Zip::ZipCommon::CompressionMethod::CM_STORE,
Poco::Zip::ZipCommon::CompressionLevel::CL_MAXIMUM,
false, "data");
compress.close();