是否可以让多个 FileServer 处理程序从不同的文件夹返回?

我有这些处理程序:


func StartHttpServer(ipAddr string) {

    mux := http.NewServeMux()

    mux.HandleFunc("/printJson", PrintJsonHandler)

    mux.HandleFunc("/report", RaportHandler)

    mux.HandleFunc("/returnBalancesDates", ReturnBalancesDatesHandler)

    mux.Handle("/", http.FileServer(http.Dir("./static")))

    mux.Handle("/readfiles/", http.FileServer(http.Dir("./reports")))

    err := http.ListenAndServe(ipAddr, mux)

    if err != nil {

        log.Fatal("ERROR: Http Server crashed: ", err)

    }

}

但似乎第二个 FileServer 处理程序没有像我预期的那样从文件夹“报告”返回文件


拉风的咖菲猫
浏览 86回答 1
1回答

宝慕林4294392

按照您的设置方式,第二个文件服务器尝试./reports/readfiles/file在请求/readfiles/file. 如果您希望它服务./reports/file,请执行以下操作: mux.Handle("/readfiles/", http.StripPrefix("/readfiles/",http.FileServer(http.Dir("./reports"))))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go