0

首先,我使用 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 Project 中,我使用相同的代码创建了一个 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 的请求。

去代码:

// * /
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)
    }
}
4

2 回答 2

0

将 FileServer 添加到项目中:

m.Handle("/images/", http.StripPrefix("/images/", http.FileServer(http.Dir("images/"))))
于 2014-09-11T12:42:55.377 回答
0

创建一个文件夹。给它任何名称,这里我使用了“图像”。将所有图像放在此文件夹中。然后,在您的 main 函数中,添加以下行:

http.Handle("/image/", http.StripPrefix("/image", http.FileServer(http.Dir("./image"))))
于 2021-11-28T10:56:37.350 回答