Golang Iris Web - 服务1x1像素

时间:2016-09-17 07:01:36

标签: image go go-iris

我是Golang的新手并尝试使用名为iris的框架。

我的问题是如何提供1x1 gif像素,而不是使用c.HTML上下文,而是浏览器标题变为 1x1 image gif 的方式。该图像将用于跟踪。

任何帮助都将深受赞赏。

1 个答案:

答案 0 :(得分:1)

注意:我并不熟悉虹膜,所以解决方案可能不是惯用的。

package main

import (
    "github.com/kataras/iris"
    "image"    
    "image/color"
    "image/gif"
)

func main() {

    iris.Get("/", func(ctx *iris.Context) {
        img := image.NewRGBA(image.Rect(0, 0, 1, 1)) //We create a new image of size 1x1 pixels
        img.Set(0, 0, color.RGBA{255, 0, 0, 255}) //set the first and only pixel to some color, in this case red

        err := gif.Encode(ctx.Response.BodyWriter(), img, nil) //encode the rgba image to gif, using gif.encode and write it to the response
        if err != nil {
            panic(err) //if we encounter some problems panic
        }
        ctx.SetContentType("image/gif") //set the content type so the browser can identify that our response is actually an gif image
    })

    iris.Listen(":8080")
}

更好理解的链接: