无法在 Go 中将图像添加到 html 模板



首先,我使用Notepad++创建了一个HTML文件,代码为:

<body>
    <table>
        <tr>
            <td>Jill</td>
            <td>Smith</td>
            <td><img src="images/test.jpg" border=3 height=100 width=300 /></td>
        </tr>
        <tr>
            <td>Eve</td>
            <td>Jackson</td>
            <td>94</td>
        </tr>
    </table>
</body>

当我打开这个文件时,它运行良好,它会向我显示表格和单元格内的图像。

然后,在Eclipse中的Go项目中,我用相同的代码创建了一个HTML文件,并尝试运行,但它没有工作,也没有显示图像。

因此,我试图将图像与HTML文件放在同一个文件夹中,但没有再次工作。

两者都在文件夹中:tmpl

<body>
    <table>
        <tr>
            <td>Jill</td>
            <td>Smith</td>
            <td><img src="test.jpg" border=3 height=100 width=300 /></td>
        </tr>
        <tr>
            <td>Eve</td>
            <td>Jackson</td>
            <td>94</td>
        </tr>
    </table>
</body>

问题:

rootHandler:无法进一步转发/tmpl/teste.jpg的请求。

Go代码:

// * /
func rootHandler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path == "/" {
        homeHandler(w, r)
    } else {
        log.Printf("rootHandler: Could not forward request for %s any further.", r.RequestURI)
        errNotFound(w, r)
    }
}

向项目添加FileServer:

m.Handle("/images/", http.StripPrefix("/images/", http.FileServer(http.Dir("images/"))))

创建一个文件夹。给它取个名字吧,在这里我用过";图像";。将所有图像放在此文件夹中。然后,在您的主功能中,添加以下行:

http.Handle("/image/", http.StripPrefix("/image", http.FileServer(http.Dir("./image"))))

相关内容

  • 没有找到相关文章

最新更新