图片文件夹的更短路径-Golang

时间:2019-02-21 15:03:37

标签: go

我有一个可行的解决方案,但我想对其进行微调,同时了解其工作原理。

这是我的文件夹结构:

web/
├── main.go
└── public/
      ├── css/
      ├── js/
      ├── img/
      │    └── pict.jpg
      └── templates/

当前获取图片的路径为:

<img src="public/img/pict.jpg"></a>

获取图片的理想路径是(我想跳过公共/部分):

<img src="img/pict.jpg"></a>

相关的go代码:

func main() {
    http.HandleFunc("/", index)
    http.Handle("/public/", http.StripPrefix("/public/", http.FileServer(http.Dir("./public"))))
    http.ListenAndServe(":8080", nil)
}

相同的短路径也应适用于css和js文件夹。 TIA!

1 个答案:

答案 0 :(得分:1)

尝试一下:缺点是您需要对每个子目录重复此操作

http.HandleFunc("/", index)

http.Handle("/img/",
    http.StripPrefix("/img/", http.FileServer(http.Dir("./public/img"))))
http.Handle("/css/",
    http.StripPrefix("/css/", http.FileServer(http.Dir("./public/css"))))

// ... etc.