首先,我使用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"))))