Go语言 默认HTTP文件服务器-修改内容

qc6wkl3g  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(157)

我如何用附加的HTML编写默认的Go HTTP文件服务器(如果存在,则提供服务,否则显示文件列表)?
使用默认文件服务器的http.go示例:

package main

import "net/http"

func main() {
    http.Handle("/", http.FileServer(http.Dir(".")))
    http.ListenAndServe(":8090", nil)
}

加载默认页面(http://localhost:8090)会显示如下内容:

<pre><a href="LICENSE">LICENSE</a>
<a href="README.md">README.md</a>
<a href="studio.jpg">studio.jpg</a>
</pre>

我发现它是在fs.go处声明的。
我希望保留该部分,但使用我自己的页眉和页脚(最好不要复制dirList函数并进行小的更改):

<title>My files</title>

<pre><a href="LICENSE">LICENSE</a>
<a href="README.md">README.md</a>
<a href="studio.jpg">studio.jpg</a>
</pre>

<p>And that's all, folks!</p>
zwghvu4y

zwghvu4y1#

基于这个answer,你可以为一个FileServer实现自己的FileSystem
这个实现充其量是非常有缺陷的,您可能永远都不应该使用它,但它应该向您展示如何为任意“文件”实现FileSystem接口。
第一个
👇🏻

<title>My files</title>
<pre><a href="LICENSE">LICENSE</a>
<a href="README.md">README.md</a>
<a href="studio.jpg">studio.jpg</a>
</pre>
<p>And that's all, folks!</p>

PLAYGROUND

相关问题