From 8e62a4d5920ed19a46a1b6987480fcdc847e3491 Mon Sep 17 00:00:00 2001 From: OopsMonk Date: Tue, 14 Nov 2017 10:54:02 +0800 Subject: [PATCH] fix symbolic links issue on Linux. --- file.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/file.go b/file.go index 6c217b10..d89aa0fd 100644 --- a/file.go +++ b/file.go @@ -133,6 +133,16 @@ func (i *File) GetListing(u *User, r *http.Request) error { continue } + if strings.HasPrefix(f.Mode().String(),"L") { + // It's a symbolic link + // The FileInfo from Readdir treats symbolic link as a file only. + info, err := os.Stat(f.Name()) + if err != nil{ + return err + } + f = info + } + if f.IsDir() { name += "/" dirCount++