您好我正在尝试在Go Lang中创建一个服务器,同时提供文件和HTTP请求。
我希望/upload
路径接受发布请求和
在/files
fpath
路径
我尝试使用以下代码,但是我收到了404错误
func main() {
fpath, _ := filepath.Abs(filepath.Dir(os.Args[0]))
fpath+="/public"
fmt.Println(fpath)
http.HandleFunc("/upload",uploadFunc)
http.HandleFunc("/files",http.FileServer(http.Dir(fpath)))
panic(http.ListenAndServe(":8080", nil))
}
答案 0 :(得分:3)
如果它是目录,则需要在句柄路径上使用尾部斜杠。有关详细信息,请参阅http://golang.org/pkg/net/http/#ServeMux。
模式名称是固定的,有根的路径,例如" /favicon.ico"或根管子树,例如" / images /" (注意斜杠)。
尝试
func main() {
fpath, _ := filepath.Abs(filepath.Dir(os.Args[0]))
fpath+="/public"
fmt.Println(fpath)
http.HandleFunc("/upload",uploadFunc)
http.Handle("/files/", http.StripPrefix("/files/", http.FileServer(http.Dir(fpath))))
panic(http.ListenAndServe(":8080", nil))
}