gpt4 book ai didi

forms - 如何从 HTML 表单中读取输入并将其保存在文件中 - Golang

转载 作者:IT老高 更新时间:2023-10-28 13:10:19 24 4
gpt4 key购买 nike

我正在尝试设置一个非常简单的 Web 服务器,用户可以在其中访问一个站点并写入一个字符串和一个 int。然后我想保存这两个输入,我的想法是将它保存到一个文本文件中,该文件也可以在浏览器中显示:.../textfile/

我不知道 SO 上关于可以发布多少代码的标准是什么,但这是我目前所拥有的:

type Person struct {
name string
hours int
}

const filename string = "timelister"

func upload(w http.ResponseWriter, r *http.Request) {
t, _ := template.ParseFiles("upload.html")
t.Execute(w, nil)
}

func (person *Person) open() {
newFilename := filename + ".txt"
_, err := os.OpenFile(newFilename, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666)
if err != nil {
log.Fatal("Open Filename: ", err)
}
}

func returnInput() //want to implement this
func saveInput() //want to implemet this


func main() {
http.HandleFunc("/", upload)
http.ListenAndServe(":8080", nil)

}

还有我的 HTML 表单:(没有所有格式)

     Name: <input type="text" name="Name">
<input type="submit" value="submit"></br>
Hours: <input type="text" name="Hours">
<input type="submit" value="submit">

所以我最初的想法是实现两个函数 returnInput() 和 saveInput() 但也许有一些更易于使用的内置函数?

如果有人可以为我指出如何保存 HTML 表单中的输入的正确方向,那我将非常感激!提前致谢。

最佳答案

您需要选择一种格式来写入文件。让我们无缘无故地选择 JSON。所以给出如下形式:

<form action="/save" method="post"> ... </form>

你可以有以下处理程序

import (
"strconv"
"http"
"os"
"encoding/json"
)

type Data struct {
Name string
Hours int
}

func save(w http.ResponseWriter, r *http.Request) {
name := r.FormValue("Name")
hours, err := strconv.Atoi(r.FormValue("Hours"))
if err != nil {
http.Error(w, err.Error(), 500)
return
}

data := &Data{name, hours}

b, err := json.Marshal(data)
if err != nil {
http.Error(w, err.Error(), 500)
return
}

f, err := os.Open("somefile.json")
if err != nil {
http.Error(w, err.Error(), 500)
return
}

f.Write(b)
f.Close()
}

func init() {
http.HandleFunc("/save", save)
}

关于forms - 如何从 HTML 表单中读取输入并将其保存在文件中 - Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513963/

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