Browse Source

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.
Ghostkeeper 3 years ago
parent
commit
bdc269f8ab
1 changed files with 2 additions and 1 deletions
  1. 2 1
      cura/PrinterOutput/UploadMaterialsJob.py

+ 2 - 1
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