Я играл с многочисленными фрагментами сервера go, пытаясь выяснить, как я могу отобразить файл изображения в файле HTML или перейти к шаблону HTTP вместе с разделом HTML-форм.По сути, самая большая проблема, если я использую шаблон go, я не могу показать изображение вместе с html и при этом сохранить размер проекта небольшим.Кажется, единственный способ заставить шаблон работать - это организовать код в «типичный проект HTML», которого я стараюсь избегать.
Есть ли простой способ (всего пара файлов, а несоздание "типичной файловой структуры веб-проекта go") для отображения HTML с изображением внутри шаблона go?Я полагаю, что проблема ниже в основном с обработчиками http.Либо я могу иметь обработчик текста или обработчик изображения, но не оба?Мне нужно и то, и другое, чтобы я мог контролировать пользователя из формы HTML, какое изображение будет отображаться.
Если кто-то может помочь, я был бы очень признателен.
R Джо
-Пересмотрено Извините за то, что неясно.У меня ограниченный опыт работы с шаблонами go, и я видел много примеров, когда люди используют структуры файлов проекта go app, которые могут включать в себя такие каталоги, как шаблоны, img и т. Д. Эти каталоги часто бывают 10 или более.Затем они говорят об использовании маршрутов в приложениях и других вещах, в которые я не могу попасть.
Я просто смотрю на то, что хочу сделать, гораздо проще.У меня есть около 70 изображений.Я просто хочу, чтобы пользователь мог щелкнуть html-страницу с изображением и просто указать номер 1,2,3,4 в качестве обратной связи в зависимости от того, какое изображение отображается.
Я представлял, что одинПрограмма go (1 файл) может получить номер и после получения изменить img на html-странице или позволить пользователю щелкнуть следующую гиперссылку или что-то еще, чтобы вызвать следующее изображение, и после его завершения программа останавливается.
package main
import (
"fmt"
"html/template"
"log"
"net/http"
//"strings"
func img(w http.ResponseWriter, r *http.Request) {
//http.Handle("/images/", http.StripPrefix("/images/", http.FileServer(http.Dir("images/"))))
fmt.Println("method:", r.Method) //get request method
if r.Method == "GET" {
t, _ := template.ParseFiles("image.gtpl")
t.Execute(w, nil)
} else {
r.ParseForm()
// logic part of log in
fmt.Println("previmage:", r.Form["previmage"])
fmt.Println("nextimage:", r.Form["nextimage"])
}
}
func main() {
//http.HandleFunc("/", sayhelloName) // setting router rule
http.HandleFunc("/login", login)
err := http.ListenAndServe(":9090", nil) // setting listening port
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
<html>
<head>
<title></title>
</head>
<body> //How to Loop Images based on user submit??
<img src="img/question4.png" alt="Cannot load image" style="width: 800px;height: 800px">
<form action="/login" method="post">
Username:<input type="text" name="previmage">
Password:<input type="password" name="nextimage">
<input type="submit" value="Login">
</form>
</body>
</html>