登录
首页 >  Golang >  Go问答

使用自定义 CSS 样式的 Golang 文件服务器

来源:stackoverflow

时间:2024-03-19 15:24:25 374浏览 收藏

为你的家庭创建文件服务器时,可能希望对其外观进行自定义。使用 Golang 的 http.FileServer 创建的文件服务器,通常以丑陋的方式显示文件和目录。通过利用一个事实,即在 http.fileserver 完成工作后,可以继续写入 http.responsewriter,可以实现一个解决方法,为该站点添加自定义 CSS 样式。

问题内容

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

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


解决方案


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

package main

import (
        "io"
        "log"
        "net/http"
)

const (
        link = ``
)

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>