Web services 在Go(golang)中使用Web服务器显示gif图像

Web services 在Go(golang)中使用Web服务器显示gif图像,web-services,web,go,Web Services,Web,Go,我试图用这个简单的Go程序输出1x1透明GIF图像(在base64中预生成),尽管我似乎无法让它工作。有人知道如何使用预生成的base64字符串或磁盘上的文件来实现这一点吗 我感谢你的帮助 在这里似乎工作得很好: $ wget -q -O file.gif http://localhost:8086 $ file file.gif file.gif: GIF image data, version 89a, 1 x 1 您如何验证它是否正常工作?如果您使用web浏览器访问它,我想它将显示一个

我试图用这个简单的Go程序输出1x1透明GIF图像(在base64中预生成),尽管我似乎无法让它工作。有人知道如何使用预生成的base64字符串或磁盘上的文件来实现这一点吗

我感谢你的帮助



在这里似乎工作得很好:

$ wget -q -O file.gif http://localhost:8086
$ file file.gif
file.gif: GIF image data, version 89a, 1 x 1
您如何验证它是否正常工作?如果您使用web浏览器访问它,我想它将显示一个带有透明像素的空页面,这有点难以发现。:-)


作为旁注,强烈建议检查错误,即使是在示例代码中(很多时候示例代码都解释了它自己)。

也适用于我。顺便说一句,如果您是作为信标/跟踪像素的一部分执行此操作,您可以简单地返回204 no内容(它比gif小35字节,并且可以用于完全相同的目的):


您可以直接使用res.Write(output)而不是io.WriteString(res,string(output))您的gif图像看起来是白色的,不是透明的。您可以使用“r0lgodlhaqabaaaaaaaaap///yh5baeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa7”作为透明的()
$ wget -q -O file.gif http://localhost:8086
$ file file.gif
file.gif: GIF image data, version 89a, 1 x 1
func EventTracker(w http.ResponseWriter, r *http.Request) {
    if r.Method != "GET" {
        http.NotFound(w, r)
        return
    }
    //insert tracking logic here
    w.WriteHeader(http.StatusNoContent)
}