具有自定义 css 的 Golang FileServer

我考虑过用 Go 为我的家创建一个迷你文件服务器。通常http.FileServer服务器文件和目录是这样丑陋的:

http://img3.mukewang.com/64195b7400018c3502370182.jpg

是否可以将 CSS 添加到此站点?例如改变颜色。先谢谢您的帮助!



开心每一天1111
浏览 101回答 1
1回答

红颜莎娜

有一个 hacky 解决方案,利用这样一个事实,即您可以在完成其工作http.ResponseWriter后继续写入。http.FileServer一般不推荐,但在这种情况下它可能是可以接受的。package mainimport (&nbsp; &nbsp; &nbsp; &nbsp; "io"&nbsp; &nbsp; &nbsp; &nbsp; "log"&nbsp; &nbsp; &nbsp; &nbsp; "net/http")const (&nbsp; &nbsp; &nbsp; &nbsp; link = `<link rel="stylesheet" href="/path/to/style.css">`)func main() {&nbsp; &nbsp; &nbsp; &nbsp; fs := http.FileServer(http.Dir("/tmp"))&nbsp; &nbsp; &nbsp; &nbsp; var handler http.HandlerFunc&nbsp; &nbsp; &nbsp; &nbsp; handler = func(w http.ResponseWriter, r *http.Request) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url&nbsp; &nbsp;= r.URL.Path&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isDir = url[len(url)-1] == '/'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fs.ServeHTTP(w, r)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if isDir {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; io.WriteString(w, link)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; log.Fatal(http.ListenAndServe(":8080", handler))}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go