Я только что попытался загрузить изображение webp с URL, но обнаружил что-то другое, когда пытался обработать сохраненное изображение.
Если я загружаю изображение из браузера, оно может быть декодировано с использованием пакета x/image/webp
, но если я сохраню изображение с помощью http.Get()
, то создайте новый файл, а затем io.Copy()
изображение:
"отсутствует заголовок блока RIFF"
Я предполагаю, что мне нужно написать заголовок блока 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())
}
Вот URL IMG URL