http.Request:从 url 获取文件名

Chr*_* G. 6 go

如何获得只有文件名one.json从以下要求:http://localhost/slow/one.json

我只需要从 url 提供这个文件和其他文件?这是一个测试服务器,我需要响应非常慢。

http.HandleFunc("/slow/", func(w http.ResponseWriter, r *http.Request) {
    log.Println("Slow...")
    log.Println(r.URL.Path[1:])
    time.Sleep(100 * time.Millisecond)
    http.ServeFile(w, r, r.URL.Path[1:])
})
Run Code Online (Sandbox Code Playgroud)

Adr*_*ian 13

我相信您正在寻找path.Base:“Base 返回路径的最后一个元素。”

r,_ := http.NewRequest("GET", "http://localhost/slow/one.json", nil)
fmt.Println(path.Base(r.URL.Path))
// one.json
Run Code Online (Sandbox Code Playgroud)

游乐场链接