gpt4 book ai didi

go - 无法在GoLang中读取文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:03 26 4
gpt4 key购买 nike

我是 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 functoin
open index.html: no such file or directory

我的树结构是这样的

BasicWebServer/
BasicWebServer/main.go
BasicWebServer/index.html
BasicWebServer/static/
BasicWebServer/static/index.html

我想要的只是能够为 index.html 提供服务,因为它是一个已经顺利运行的 AngularJS 应用程序。我试过这样的静态文件

router := NewRouter()
s := http.StripPrefix("/static/", http.FileServer(http.Dir("./static/")))

但它没有用,所以我现在正在尝试我能想到的最基本的方法。

请帮忙。

谢谢

最佳答案

如果你想让 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)
}

关于go - 无法在GoLang中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37974617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com