猿问

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

我正在尝试使用这个简单的 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)

}


湖上湖
浏览 247回答 2
2回答

繁华开满天机

似乎在这里工作正常:$ wget -q -O file.gif http://localhost:8086$ file file.giffile.gif: GIF image data, version 89a, 1 x 1你如何验证它不起作用?如果您使用网络浏览器访问它,我想它会显示一个带有透明像素的空白页面,这有点难以发现。:-)作为旁注,强烈建议检查错误,即使是在示例代码中(很多时候示例代码会自我解释)。
随时随地看视频慕课网APP

相关分类

Go
我要回答