gpt4 book ai didi

http - 在 Go Lang 中使用同一服务器提供 HTTP 请求和文件

转载 作者:IT王子 更新时间:2023-10-29 01:59:54 25 4
gpt4 key购买 nike

您好,我正在尝试在 Go Lang 中创建一个同时提供文件和 HTTP 请求的服务器。

我想要/upload 路径来接受发布请求和/filesfpath

中提供静态文件的路径

我尝试了以下代码,但出现了 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))
}

最佳答案

如果是目录,则句柄路径需要尾部斜杠。参见 http://golang.org/pkg/net/http/#ServeMux了解更多信息。

Patterns name fixed, rooted paths, like "/favicon.ico", or rooted subtrees, like "/images/" (note the trailing slash).

尝试

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))
}

关于http - 在 Go Lang 中使用同一服务器提供 HTTP 请求和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25397054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com