更短的路径,图像文件夹 - golang

问题描述 投票:1回答:1

我有一个有效的解决方案,但我想微调它,同时了解它是如何工作的。

这是我的文件夹结构:

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

用于获取图片的当前路径是:

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

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

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

相关的代码:

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

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

go
1个回答
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.
© www.soinside.com 2019 - 2024. All rights reserved.