为了账号安全,请及时绑定邮箱和手机立即绑定

具有自定义 css 的 Golang FileServer

具有自定义 css 的 Golang FileServer

Go
开心每一天1111 2023-03-21 15:23:10
我考虑过用 Go 为我的家创建一个迷你文件服务器。通常http.FileServer服务器文件和目录是这样丑陋的:是否可以将 CSS 添加到此站点?例如改变颜色。先谢谢您的帮助!
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

有一个 hacky 解决方案,利用这样一个事实,即您可以在完成其工作http.ResponseWriter后继续写入。http.FileServer一般不推荐,但在这种情况下它可能是可以接受的。


package main


import (

        "io"

        "log"

        "net/http"

)


const (

        link = `<link rel="stylesheet" href="/path/to/style.css">`

)


func main() {

        fs := http.FileServer(http.Dir("/tmp"))

        var handler http.HandlerFunc

        handler = func(w http.ResponseWriter, r *http.Request) {

                var (

                        url   = r.URL.Path

                        isDir = url[len(url)-1] == '/'

                )

                fs.ServeHTTP(w, r)

                if isDir {

                        io.WriteString(w, link)

                }

        }

        log.Fatal(http.ListenAndServe(":8080", handler))

}


查看完整回答
反对 回复 2023-03-21
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信