From bdc269f8abe463349933e5cbc02456a5e65ee7b1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 12 Oct 2021 13:00:08 +0200 Subject: [PATCH] Provide file size and an arbitrary name to the upload request Apparently the Cloud will need to know the file size before it gets uploaded. It is used as a redundancy code to verify that it's not corrupt there. Perhaps they should ask for a CRC instead, being more reliable against an upload containing only null bytes or whatever, but that is not up to me to decide. Contributes to issue CURA-8609. --- cura/PrinterOutput/UploadMaterialsJob.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/PrinterOutput/UploadMaterialsJob.py b/cura/PrinterOutput/UploadMaterialsJob.py index 6acac515fe..7cad115bb1 100644 --- a/cura/PrinterOutput/UploadMaterialsJob.py +++ b/cura/PrinterOutput/UploadMaterialsJob.py @@ -46,10 +46,11 @@ class UploadMaterialsJob(Job): self._archive_filename = archive_file.name self._material_sync.exportAll(QUrl.fromLocalFile(self._archive_filename), notify_progress = self.uploadProgressChanged) + file_size = os.path.getsize(self._archive_filename) http = HttpRequestManager.getInstance() http.get( - url = self.UPLOAD_REQUEST_URL, + url = self.UPLOAD_REQUEST_URL + f"?file_size={file_size}&file_name=cura.umm", # File name can be anything as long as it's .umm. It's not used by Cloud or firmware. callback = self.onUploadRequestCompleted, error_callback = self.onError, scope = self._scope