From 1c6239211dde0045b8bedb4b1a9d0c13c6aebe22 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 1 Jul 2021 11:39:19 +0200
Subject: [PATCH] webdav: Explicitely pass contentLength to putFileContents()

This option doesn't exist in webdav.client 3.x but is required in 4.x
due to https://github.com/perry-mitchell/webdav-client/issues/266

This will switching between versions easier.
---
 packages/file-handling/src/nextcloud-file-picker.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/packages/file-handling/src/nextcloud-file-picker.js b/packages/file-handling/src/nextcloud-file-picker.js
index 65b7f12b..eae3fbc7 100644
--- a/packages/file-handling/src/nextcloud-file-picker.js
+++ b/packages/file-handling/src/nextcloud-file-picker.js
@@ -663,8 +663,10 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             let that = this;
             this.loading = true;
             this.statusText = i18n.t('nextcloud-file-picker.upload-to', {path: path});
+            // contentLength: https://github.com/perry-mitchell/webdav-client/issues/266
             await this.webDavClient
                 .putFileContents(path, file, {
+                    contentLength: file.size,
                     overwrite: false, onUploadProgress: progress => {
                         /* console.log(`Uploaded ${progress.loaded} bytes of ${progress.total}`);*/
                     }
@@ -744,8 +746,10 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
 
         let that = this;
         // https://github.com/perry-mitchell/webdav-client#putfilecontents
+        // contentLength: https://github.com/perry-mitchell/webdav-client/issues/266
         await this.webDavClient
             .putFileContents(path, file, {
+                contentLength: file.size,
                 overwrite: overwrite, onUploadProgress: progress => {
                     /*console.log(`Uploaded ${progress.loaded} bytes of ${progress.total}`);*/
                 }
-- 
GitLab