From 1cc64cc5e69244b176042185c5c3258e9c95b678 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 22 Feb 2023 21:39:40 +0100 Subject: [PATCH] WebDAV: Fix upload with updated client library #2267 Signed-off-by: Michael Mayer --- internal/remote/webdav/webdav.go | 13 ++++++++----- internal/remote/webdav/webdav_test.go | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/remote/webdav/webdav.go b/internal/remote/webdav/webdav.go index 009ba9fdc..6c4f62878 100644 --- a/internal/remote/webdav/webdav.go +++ b/internal/remote/webdav/webdav.go @@ -25,6 +25,7 @@ Additional information can be found in our Developer Guide: package webdav import ( + "bufio" "fmt" "os" "path" @@ -274,15 +275,17 @@ func (c Client) Upload(from, to string) (err error) { file, err := os.Open(from) - if err != nil || file == nil { + if err != nil { return err } - defer func(file *os.File) { - _ = file.Close() - }(file) + defer file.Close() - return c.client.WriteStream(to, file, fs.ModeFile) + reader := bufio.NewReader(file) + + err = c.client.WriteStream(to, reader, fs.ModeFile) + + return err } // Delete deletes a single file or directory on a remote server. diff --git a/internal/remote/webdav/webdav_test.go b/internal/remote/webdav/webdav_test.go index 196cbb1f1..8164f7505 100644 --- a/internal/remote/webdav/webdav_test.go +++ b/internal/remote/webdav/webdav_test.go @@ -143,7 +143,7 @@ func TestClient_UploadAndDelete(t *testing.T) { tempName := rnd.UUID() + fs.ExtJPEG - if err := c.Upload("testdata/example.jpg", tempName); err != nil { + if err := c.Upload(fs.Abs("testdata/example.jpg"), tempName); err != nil { t.Fatal(err) }