用 x/net/webdav 包,访问目录显示不全问题

2021 年 7 月 10 日
 han3sui

比如访问 C 盘的时候,仅显示了几个文件夹,并且会提示以下内容:

http: superfluous response.WriteHeader call from golang.org/x/net/webdav.(*Handler).ServeHTTP (webdav.go:74)

实际错误应该是

open C:\Config.Msi: Access is denied

但是指定某个目录,并且不存在拒绝访问的文件的时候,可以完整显示目录。

有遇到同样问题的小伙伴吗,这个该怎么解决?

3071 次点击
所在节点    Go 编程语言
6 条回复
han3sui
2021 年 7 月 10 日
代码就用最简单的:

```
package main

import (
"fmt"
"net/http"

"golang.org/x/net/webdav"
)

func main() {
err := http.ListenAndServe(":10001", &webdav.Handler{
FileSystem: webdav.Dir("C:/"),
LockSystem: webdav.NewMemLS(),
})
if err != nil {
msg := fmt.Sprintf("启动失败:%v", err)
panic(msg)
}
}

```
dic
2021 年 7 月 10 日
Access is denied

启动进程的用户没有读取某些文件的权限 。
wa8n
2021 年 7 月 11 日
用管理员身份启动?
han3sui
2021 年 7 月 11 日
@wangsongyan 尝试过打包出来,用管理员启动还是不行
hahasong
2022 年 8 月 2 日
同遇到了 在 win 下可以正常工作 linux 下不行
libaili
2023 年 7 月 11 日
解决了吗,我也遇到了这个问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788740

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX