79198613

Date: 2024-11-18 03:35:34
Score: 3
Natty:
Report link

When I switch to a different WebDAV client, I can save the file normally. In my question, I overlooked a crucial detail: the file I was editing was an MS Office Excel Xlsx file, and I could not save it.

If it was a normal txt file, it would save normally.

From the logs, it was observed that connecting to the remote WebDAV using the system's built-in file manager causes file locking issues.

However, using a third-party client did not encounter this problem, and remote file editing was completed normally.

Does anyone know the reason for this discrepancy?

I used the WebDAV Simple Server to log the events.

Simple webdav server code in Go

package main

import (
    "flag"
    "golang.org/x/net/webdav"
    "log"
    "net/http"
)

func main() {
    var address string
    flag.StringVar(&address, "a", "localhost:8080", "Address to listen to.")
    flag.Parse()

    handler := &webdav.Handler{
        FileSystem: webdav.Dir("."),
        LockSystem: webdav.NewMemLS(),
        Logger: func(r *http.Request, err error) {
            if err != nil {
                log.Printf("WebDAV request error: %s %s: %s", r.Method, r.URL, err)
            } else {
                log.Printf("WebDAV request: %s %s", r.Method, r.URL)
            }
        },
    }

    http.ListenAndServe(address, handler)
}

RaiDrive (third-party client)

2024/11/18 11:05:06 WebDAV request: PROPFIND /
2024/11/18 11:05:06 WebDAV request: PROPFIND /
2024/11/18 11:05:06 WebDAV request: PROPFIND /
2024/11/18 11:05:06 WebDAV request: PROPFIND /files/
2024/11/18 11:05:11 WebDAV request error: PROPFIND /files/~$test.xlsx: stat files/~$test.xlsx: no such file or directory
2024/11/18 11:05:11 WebDAV request: PUT /files/~$test.xlsx
2024/11/18 11:05:11 WebDAV request: PROPFIND /files/~$test.xlsx
2024/11/18 11:05:12 WebDAV request: PROPFIND /files/
2024/11/18 11:05:12 WebDAV request: PROPFIND /files/
2024/11/18 11:05:22 WebDAV request error: PROPFIND /files/~tmp1731899120747263644.TMP: stat files/~tmp1731899120747263644.TMP: no such file or directory
2024/11/18 11:05:22 WebDAV request: PUT /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PUT /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: MOVE /files/test.xlsx
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test~CBA55B.tmp
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test~CBA55B.tmp
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: MOVE /files/~tmp1731899120747263644.TMP
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test.xlsx
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test.xlsx
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test.xlsx
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test~CBA55B.tmp
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test~CBA55B.tmp
2024/11/18 11:05:22 WebDAV request: DELETE /files/test~CBA55B.tmp
2024/11/18 11:05:22 WebDAV request: PROPFIND /files/test.xlsx
2024/11/18 11:05:23 WebDAV request: PROPFIND /files/
2024/11/18 11:05:23 WebDAV request: PROPFIND /files/
2024/11/18 11:05:25 WebDAV request: PROPFIND /files/
2024/11/18 11:05:27 WebDAV request: PROPFIND /files/

Windows System File manage Client

2024/11/18 11:07:29 WebDAV request: GET /files/test.xlsx
2024/11/18 11:07:29 WebDAV request: LOCK /files/test.xlsx
2024/11/18 11:07:29 WebDAV request: UNLOCK /files/test.xlsx
2024/11/18 11:07:29 WebDAV request: LOCK /files/test.xlsx
2024/11/18 11:07:29 WebDAV request error: PROPFIND /files/~$test.xlsx: stat files/~$test.xlsx: no such file or directory
2024/11/18 11:07:29 WebDAV request: PUT /files/~$test.xlsx
2024/11/18 11:07:29 WebDAV request: LOCK /files/~$test.xlsx
2024/11/18 11:07:30 WebDAV request: PROPFIND /
2024/11/18 11:07:30 WebDAV request: PROPFIND /
2024/11/18 11:07:30 WebDAV request: PROPFIND /
2024/11/18 11:07:31 WebDAV request: PROPFIND /files/
2024/11/18 11:07:33 WebDAV request: UNLOCK /files/test.xlsx
2024/11/18 11:07:33 WebDAV request: LOCK /files/test.xlsx
2024/11/18 11:07:33 WebDAV request error: PROPFIND /files/~tmp1731899252478: stat files/~tmp1731899252478: no such file or directory
2024/11/18 11:07:33 WebDAV request error: PROPFIND /files/~tmp1731899252478525738.TMP: stat files/~tmp1731899252478525738.TMP: no such file or directory
2024/11/18 11:07:33 WebDAV request: PUT /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:33 WebDAV request: LOCK /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: PROPPATCH /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: UNLOCK /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: LOCK /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: GET /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: PROPPATCH /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: HEAD /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: PUT /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: PROPPATCH /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: UNLOCK /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: UNLOCK /files/test.xlsx
2024/11/18 11:07:34 WebDAV request error: PROPFIND /files/test~CDA8C5.tmp: stat files/test~CDA8C5.tmp: no such file or directory
2024/11/18 11:07:34 WebDAV request: PROPFIND /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: LOCK /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: GET /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: PROPPATCH /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:34 WebDAV request: MOVE /files/test.xlsx
2024/11/18 11:07:34 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:34 WebDAV request: MOVE /files/test~CDA8C5.tmp
2024/11/18 11:07:34 WebDAV request: PROPFIND /files/test.xlsx
2024/11/18 11:07:34 WebDAV request error: LOCK /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request: PROPFIND /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:35 WebDAV request error: LOCK /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request: GET /files/test.xlsx
2024/11/18 11:07:35 WebDAV request: PROPFIND /files/~tmp1731899252478525738.TMP
2024/11/18 11:07:35 WebDAV request error: PROPPATCH /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: MOVE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request error: DELETE /files/~tmp1731899252478525738.TMP: webdav: locked
2024/11/18 11:07:35 WebDAV request: LOCK /files/test.xlsx
Reasons:
  • RegEx Blacklisted phrase (2): Does anyone know
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Self-answer (0.5):
  • Starts with a question (0.5): When I
  • Low reputation (1):
Posted by: cnfj