我正在尝试在我的应用程序的根目录中提供一个名为 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
访问它。
最佳答案
根据上述评论仔细检查您的路径、权限、用户上下文等。
如果您仍然卡住了,请从这个基本设置开始:
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),
)
}
并用curl等进行测试
$ 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>
关于http - 静态目录未得到服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601663/