我正在尝试使用这个简单的 Go 程序输出一个 1x1 透明 GIF 图像(在 base64 中预先生成),尽管我似乎无法让它工作。有没有人知道如何使用预生成的 base64 字符串或磁盘中的文件执行此操作?
感谢您的帮助。
package main
import (
"net/http"
"io"
"encoding/base64"
)
const base64GifPixel = "R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs="
func respHandler(res http.ResponseWriter, req *http.Request) {
res.Header().Set("Content-Type","image/gif")
output,_ := base64.StdEncoding.DecodeString(base64GifPixel)
io.WriteString(res,string(output))
}
func main() {
http.HandleFunc("/", respHandler)
http.ListenAndServe(":8086", nil)
}
最佳答案
似乎在这里工作正常:
$ wget -q -O file.gif http://localhost:8086
$ file file.gif
file.gif: GIF image data, version 89a, 1 x 1
您如何验证它是否不起作用?如果您使用网络浏览器访问它,我想它会显示一个带有透明像素的空白页面,这有点难以发现。 :-)
作为旁注,强烈建议检查错误,即使在示例代码中也是如此(很多时候示例代码会自行解释)。
关于web-services - 在 Go (golang) 中使用网络服务器显示 gif 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18765171/