mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
improve files listing for ghttp.Server
This commit is contained in:
@ -15,4 +15,11 @@
|
||||
|
||||
[viewer]
|
||||
delimiters = ["${", "}"]
|
||||
autoencode = true
|
||||
autoencode = true
|
||||
|
||||
|
||||
[server]
|
||||
Address = ":8800"
|
||||
ServerRoot = "/Users/john/Downloads"
|
||||
ServerAgent = "gf-app"
|
||||
# LogPath = "./log/gf-app/server"
|
||||
@ -1,12 +1,11 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gogf/gf/frame/g"
|
||||
)
|
||||
|
||||
func main() {
|
||||
b1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
|
||||
b2 := b1[:2]
|
||||
b1[0] = 9
|
||||
fmt.Println(b2)
|
||||
s := g.Server()
|
||||
s.SetIndexFolder(true)
|
||||
s.Run()
|
||||
}
|
||||
|
||||
@ -279,7 +279,16 @@ func (s *Server) listDir(r *Request, f http.File) {
|
||||
r.Response.WriteStatus(http.StatusInternalServerError, "Error reading directory")
|
||||
return
|
||||
}
|
||||
sort.Slice(files, func(i, j int) bool { return files[i].Name() < files[j].Name() })
|
||||
// The folder type has the most priority than file.
|
||||
sort.Slice(files, func(i, j int) bool {
|
||||
if files[i].IsDir() && !files[j].IsDir() {
|
||||
return true
|
||||
}
|
||||
if !files[i].IsDir() && files[j].IsDir() {
|
||||
return false
|
||||
}
|
||||
return files[i].Name() < files[j].Name()
|
||||
})
|
||||
if r.Response.Header().Get("Content-Type") == "" {
|
||||
r.Response.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user