我只是尝试从 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())
}
这是网址IMG 网址