Golangで作ったサーバで、ローカルディレクトリを指定する方法
以下の"main.go"が、c:\user\ebata\go_template\testsにあるとする。
package main
import (
"log"
"net/http"
)
func main() {
// アクセスされたURLから /web 部分を取り除いてハンドリングする
http.Handle("/web/", http.StripPrefix("/web", http.FileServer(http.Dir("static"))))
if err := http.ListenAndServe(":8686", nil); err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
で、c:\user\ebata\go_template\tests の下に、staticというディレクトリを掘って、そこに、画像ファイル(例:helicopter.png)を放り込んでおく。
で、go run main.goを起動して、ブラウザから、
http://localhost:8686/web/helicopter.png
と入力すると、画像が出てきます。
注意
http.Handle("/web",
では動きません。
http.Handle("/web/",
で動きます。