我正在尝试在应用程序的根目录中提供一个名为assets
的文件夹。我希望可以通过URL /details/
访问其中的所有文件和子文件夹。
fs := http.FileServer(http.Dir("assets"))
http.Handle("/details/", http.StripPrefix("/details/", fs))
我仍然得到所有内容的404。我使用的是StripPrefix
吗?
为清楚起见,假设assets
包含test.json
。我希望可以通过URL /details/test.json
进行访问。
答案 0 :(得分:1)
根据以上注释,仔细检查您的路径,权限,用户上下文等。
如果仍然遇到问题,请从以下基本设置开始:
package main
import (
"log"
"net/http"
)
func main() {
fs := http.FileServer(http.Dir("/tmp/assets"))
http.Handle("/details/", http.StripPrefix("/details/", fs))
log.Fatal(
http.ListenAndServe(":8080", nil),
)
}
并测试卷曲度。
$ find /tmp/assets
/tmp/assets
/tmp/assets/test.json
$ go run ./main.go
$ curl localhost:8080/details/
<pre>
<a href="test.json">test.json</a>
</pre>