我只是尝试从 url 下载 webp 图像,但是当我尝试处理存储的图像时,我发现了一些不同的东西。
如果我从浏览器下载图像,它可以使用x/image/webp包解码,但如果我使用存储图像http.Get()然后创建一个新文件然后io.Copy()图像,它说:
“缺少 RIFF 块头”
我假设在使用 golang 代码存储它时需要编写一些 RIFF 块标头。
func main(){
response, e := http.Get(URL)
if e != nil {
log.Fatal(e)
}
defer response.Body.Close()
//open a file for writing
file, err := os.Create('tv.webp')
if err != nil {
log.Fatal(err)
}
defer file.Close()
// Use io.Copy to just dump the response body to the file. This supports huge files
_, err = io.Copy(file, response.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println("Success!")
imgData, err := os.Open("tv.webp")
if err != nil {
fmt.Println(err)
return
}
log.Printf("%+v", imgData)
image, err := webp.Decode(imgData)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(image.Bounds())
}
当年话下
翻过高山走不出你
随时随地看视频慕课网APP
相关分类