golangのオンラインビデオコースに従おうとしていますが、静的なHTMLファイルを提供する際にエラーが発生しています。はgolangの静的なhtmlファイルを扱うことができません
package main
import (
"io/ioutil"
"net/http"
)
func main() {
http.Handle("/", new(MyHandler))
http.ListenAndServe(":8000", nil)
}
type MyHandler struct {
http.Handler
}
func (this *MyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
path := "public/" + req.URL.Path
data, err := ioutil.ReadFile(string(path))
if err == nil {
w.Write(data)
} else {
w.WriteHeader(404)
w.Write([]byte("404 - " + http.StatusText(404)))
}
}
マイフォルダ構造 looks like this。
パス:= "public /" + req.URL.Pathパスが正しく設定されていません。最も単純な方法は、パブリックのための絶対的な根本的な道であろう。 – Uvelichitel
しかしインストラクターが働いているようですが、正しい方法を教えてください。 – location
@Shavkatあなたはあなたがあなたがいると思う場所から実行可能ファイルを実行していますか?あなたのインストラクターのコードは本当に非観想的です。 –