我如何用附加的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>
1条答案
按热度按时间zwghvu4y1#
基于这个answer,你可以为一个
FileServer
实现自己的FileSystem
这个实现充其量是非常有缺陷的,您可能永远都不应该使用它,但它应该向您展示如何为任意“文件”实现FileSystem接口。
第一个
👇🏻
PLAYGROUND