Estoy tratando de configurar un servidor web muy simple donde el usuario accede a un sitio y escribe una cadena y un int. Luego quiero guardar estos dos entradas, mi idea era hacerlo a un archivo de texto que también se puede mostrar en el navegador: .../archivo de texto/Cómo leer la entrada de un formulario HTML y guardarlo en un archivo - Golang
No sé cuál es la norma en SO sobre la cantidad de código que está bien para puesto, pero esto es lo que tengo hasta ahora:
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)
}
Y mi HTML formulario: (sin todo el formateo)
Name: <input type="text" name="Name">
<input type="submit" value="submit"></br>
Hours: <input type="text" name="Hours">
<input type="submit" value="submit">
Así que mi idea inicial era implementar dos funciones, returnInput() y saveInput() pero ¿tal vez hay algunas funciones incorporadas que son más fáciles de usar?
¡Si alguien pudiera indicarme en la dirección correcta cómo guardar la entrada del formulario HTML, sería muy agradecido! Gracias por adelantado.
Gracias, fue muy útil. He estado intentando con el FormValue, pero como soy muy nuevo en la programación, me perdí un poco la codificación. Pero me lo dijiste muy claro. – miner
Claro, revise los documentos del paquete en la codificación, http://golang.org/pkg/encoding/ Podría, por ejemplo, leer/escribir la estructura sin procesar con la codificación/paquete binario si eso es lo que desea. JSON es solo un buen término medio para explicar algo e inspeccionar el resultado fácilmente. – dskinner