私のGoの知識はせいぜいひどいものだと言ってこれを前置きしますが、私が行ったいくつかの実験はこれに少し関係しているので、おそらくこれは少なくともあなたを正しい方向に向けるでしょう。基本的に、以下のコードは、ルートディレクトリ(私の場合は)/images/
のフォルダからファイルを提供する下のすべてにハンドルを使用します。次に、タグをハードコーディングするか、前と同じように使用して最初の引数を作成します。images
/home/username/go
/images/
<img>
path.Join()
images
package main
import (
"fmt"
"net/http"
"os"
"path"
)
func handler(w http.ResponseWriter, r *http.Request) {
fileName := "testfile.jpg"
fmt.Fprintf(w, "<html></br><img src='/images/" + fileName + "' ></html>")
}
func main() {
rootdir, err := os.Getwd()
if err != nil {
rootdir = "No dice"
}
// Handler for anything pointing to /images/
http.Handle("/images/", http.StripPrefix("/images",
http.FileServer(http.Dir(path.Join(rootdir, "images/")))))
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}