mirror of
https://github.com/tickstep/aliyunpan.git
synced 2025-02-03 05:47:16 +08:00
fix webdav issue for root folder
This commit is contained in:
parent
0c15220190
commit
b9cbf78da4
@ -81,7 +81,9 @@ const FileUploadExpiredMinute = 1440 // 24小时
|
|||||||
|
|
||||||
func formatPathStyle(pathStr string) string {
|
func formatPathStyle(pathStr string) string {
|
||||||
pathStr = strings.ReplaceAll(pathStr, "\\", "/")
|
pathStr = strings.ReplaceAll(pathStr, "\\", "/")
|
||||||
|
if pathStr != "/" {
|
||||||
pathStr = strings.TrimSuffix(pathStr, "/")
|
pathStr = strings.TrimSuffix(pathStr, "/")
|
||||||
|
}
|
||||||
return pathStr
|
return pathStr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,11 @@ func (w *WebdavConfig) StartServer() {
|
|||||||
if wdfi.fullPath != "/" && strings.Index(wdfi.fullPath, "/") != 0 {
|
if wdfi.fullPath != "/" && strings.Index(wdfi.fullPath, "/") != 0 {
|
||||||
wdfi.fullPath = "/" + wdfi.fullPath
|
wdfi.fullPath = "/" + wdfi.fullPath
|
||||||
}
|
}
|
||||||
|
panClientProxy := &PanClientProxy{
|
||||||
|
PanUser: w.PanUser,
|
||||||
|
PanDriveId: w.PanDriveId,
|
||||||
|
PanTransferUrlType: w.TransferUrlType,
|
||||||
|
}
|
||||||
users[u.Username] = &User{
|
users[u.Username] = &User{
|
||||||
Username: u.Username,
|
Username: u.Username,
|
||||||
Password: u.Password,
|
Password: u.Password,
|
||||||
@ -54,17 +59,15 @@ func (w *WebdavConfig) StartServer() {
|
|||||||
FileSystem: WebDavDir{
|
FileSystem: WebDavDir{
|
||||||
Dir: webdav.Dir(u.Scope),
|
Dir: webdav.Dir(u.Scope),
|
||||||
NoSniff: false,
|
NoSniff: false,
|
||||||
panClientProxy: &PanClientProxy{
|
panClientProxy: panClientProxy,
|
||||||
PanUser: w.PanUser,
|
|
||||||
PanDriveId: w.PanDriveId,
|
|
||||||
PanTransferUrlType: w.TransferUrlType,
|
|
||||||
},
|
|
||||||
fileInfo: wdfi,
|
fileInfo: wdfi,
|
||||||
uploadChunkSize: w.UploadChunkSize,
|
uploadChunkSize: w.UploadChunkSize,
|
||||||
},
|
},
|
||||||
LockSystem: webdav.NewMemLS(),
|
LockSystem: webdav.NewMemLS(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
// load & cache root folder info
|
||||||
|
_, _ = panClientProxy.FileListGetAll(u.Scope)
|
||||||
}
|
}
|
||||||
cfg := &Config{
|
cfg := &Config{
|
||||||
Auth: true,
|
Auth: true,
|
||||||
|
@ -53,7 +53,11 @@ func sliceClean(name string) string {
|
|||||||
// formatAbsoluteName 将name名称更改为绝对路径
|
// formatAbsoluteName 将name名称更改为绝对路径
|
||||||
func (d WebDavDir) formatAbsoluteName(pathStr string) string {
|
func (d WebDavDir) formatAbsoluteName(pathStr string) string {
|
||||||
if strings.Index(pathStr, "/") != 0 {
|
if strings.Index(pathStr, "/") != 0 {
|
||||||
|
if d.fileInfo.fullPath != "/" {
|
||||||
pathStr = d.fileInfo.fullPath + "/" + pathStr
|
pathStr = d.fileInfo.fullPath + "/" + pathStr
|
||||||
|
} else {
|
||||||
|
pathStr = d.fileInfo.fullPath + pathStr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return pathStr
|
return pathStr
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user