【发布时间】:2016-09-28 11:51:06
【问题描述】:
我目前正在将图像上传到我的服务器,执行以下操作:
func (base *GuildController) GuildLogo(w http.ResponseWriter, req *http.Request, ps httprouter.Params) {
...
logo, _, err := req.FormFile("logo")
defer logo.Close()
logoGif, format, err := image.Decode(logo)
if err != nil {
base.Error = "Error while decoding your guild logo"
return
}
logoImage, err := os.Create(pigo.Config.String("template")+"/public/guilds/"+ps.ByName("name")+".gif")
if err != nil {
base.Error = "Error while trying to open guild logo image"
return
}
defer logoImage.Close()
//resizedLogo := resize.Resize(64, 64, logoGif, resize.Lanczos3)
err = gif.Encode(logoImage, logoGif, &gif.Options{
256,
nil,
nil,
})
if err != nil {
base.Error = "Error while encoding your guild logo"
return
}
...
}
所以一切正常。但是 gif 会失去动画效果。
例如这里是我要上传的 gif
这是被保存的一个
不知道我做错了什么
【问题讨论】:
-
尝试按原样保存文件,而不是重新编码。
-
您只是在解码第一帧。来自文档:“解码从 r 读取 GIF 图像并将第一个嵌入图像作为 image.Image 返回”。
标签: image go gif animated-gif