diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index e78f9f108b..6704786c36 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -1193,7 +1193,7 @@ void OctreeServer::handleOctreeDataFileReply(QSharedPointer mes QFile file(_persistAbsoluteFilePath); if (file.open(QIODevice::WriteOnly)) { - auto entityData = data.toByteArray(); + auto entityData = data.toGzippedByteArray(); file.write(entityData); file.close(); } else { diff --git a/libraries/octree/src/OctreeUtils.cpp b/libraries/octree/src/OctreeUtils.cpp index d8925a10ca..e068e83b23 100644 --- a/libraries/octree/src/OctreeUtils.cpp +++ b/libraries/octree/src/OctreeUtils.cpp @@ -152,3 +152,15 @@ QByteArray OctreeUtils::RawOctreeData::toByteArray() { return doc.toJson(); } + +QByteArray OctreeUtils::RawOctreeData::toGzippedByteArray() { + auto data = toByteArray(); + QByteArray gzData; + + if (!gzip(data, gzData, -1)) { + qCritical("Unable to gzip data while converting json."); + return QByteArray(); + } + + return gzData; +} \ No newline at end of file diff --git a/libraries/octree/src/OctreeUtils.h b/libraries/octree/src/OctreeUtils.h index e5c7b617cd..18b0d27883 100644 --- a/libraries/octree/src/OctreeUtils.h +++ b/libraries/octree/src/OctreeUtils.h @@ -31,6 +31,7 @@ public: QJsonArray octreeData; QByteArray toByteArray(); + QByteArray toGzippedByteArray(); }; bool readOctreeFile(QString path, QJsonDocument* doc);