Go web服务器在哪里查找文件

时间:2017-09-07 09:51:11

标签: go

我有一个简单的Web应用程序,名为HttpServer.go的代码文件是:

package main

import (
    "net/http"
)

func main() {
    mux := http.NewServeMux()
    files := http.FileServer(http.Dir("/public"))
    mux.Handle("/static/", http.StripPrefix("/static/", files))
    server := &http.Server{
        Addr:    "localhost:8080",
        Handler: mux,
    }
    server.ListenAndServe()
}

我已将此代码文件放在%GOPATH%/ src / first_app下,而我go install此程序,first_app.exe显示在%GOPATH%/ bin

当我启动网络服务器时,我访问了

http://localhost:8080/static/a.txt,但404(NOT FOUND)抱怨找不到a.txt。

我会问我应该在哪里放置目录public and a.txt

1 个答案:

答案 0 :(得分:1)

它会查看您在http.Dir表达式中指定的路径。在你的情况下/public

您的系统上很可能没有名为/public的路径(因为这是我熟悉的所有操作系统上的非标准目录路径,我怀疑您没有#&# 39;创造了它。)

更改/public以匹配放置文件的路径。