为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 GoLang 中读取文件

无法在 GoLang 中读取文件

Go
月关宝盒 2022-01-17 20:07:12
我是 GoLang 开发的新手,正在尝试制作一个简单的网络应用程序。我一直在关注本教程https://www.youtube.com/watch?v=AiRhWG-2nGU。但是我什至不能提供 index.html 文件。这是我的代码func check(e error) {    if e != nil {        fmt.Println(e)        panic(e)    }}func Index(w http.ResponseWriter, r *http.Request) {    fmt.Println("Index functoin")    indexHTML, err := ioutil.ReadFile("index.html")    check(err)    fmt.Println(indexHTML)    w.Write(indexHTML)}这是产生的错误Index functoinopen index.html: no such file or directory我的树结构是这样的BasicWebServer/BasicWebServer/main.goBasicWebServer/index.htmlBasicWebServer/static/BasicWebServer/static/index.html我想要的只是能够为 index.html 提供服务,因为它是一个已经运行平稳的 AngularJS 应用程序。我试过这样的静态文件router := NewRouter()s := http.StripPrefix("/static/", http.FileServer(http.Dir("./static/")))但它没有用,所以我现在正在尝试我能想到的最基本的方法。请帮忙。
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

如果您想BasicWebServer/main.go显示BasicWebServer/index.html,而不是文件夹内的那个static,那么您似乎没有正确配置 HTTP 服务器。


这是您的代码,包含包声明、导入和main按预期工作的函数。


package main


import (

    "fmt"

    "io/ioutil"

    "net/http"

)


func check(e error) {

    if e != nil {

        fmt.Println(e)

        panic(e)

    }

}


func Index(w http.ResponseWriter, r *http.Request) {

    fmt.Println("Index functoin")

    indexHTML, err := ioutil.ReadFile("index.html")

    check(err)

    fmt.Println(indexHTML)

    w.Write(indexHTML)

}


func main() {

    http.HandleFunc("/", Index)


    err := http.ListenAndServe(":8080", nil)

    check(err)

}


查看完整回答
反对 回复 2022-01-17
  • 1 回答
  • 0 关注
  • 271 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信