Golang : Fix image: unknown format error
Problem :
You want to find out the dimension of an image file with image.DecodeConfig()
function - to get the color model, width and height. However, while doing so, you get this strange error message :
image : unknown format error
How to fix this problem?
Solutions :
1) The image.DecodeConfig()
function is either reading an empty file or pointer to empty file. Before calling image.DecodeConfig(inputFile)
, perform sanity check on the input file. Is the size zero? Is the file is actually a directory? A common mistake is that the inputFile
parameter only contains the filename, but not the full path. i.e missing the directory.
You may need to use the path/filepath.Abs()
function. See https://www.socketloop.com/references/golang-path-filepath-abs-function-example
2) Also remember, to import image/jpeg
, image/png
and image/gif
and initialize them at the init()
function. See https://www.socketloop.com/references/golang-image-registerformat-function-example
Reference :
https://www.socketloop.com/tutorials/golang-get-dimension-width-and-height-of-image-file
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+8.3k Golang : How to extract links from web page ?
+6.1k Golang : reCAPTCHA example
+5.8k Golang : Submit web forms without browser by http.PostForm example
+12.9k Golang : Get password from console input without echo or masked
+4.3k Gogland : Where to put source code files in package directory for rookie
+6.4k Golang : How to check if IP address is in range
+8.7k Golang : Check if a string contains multiple sub-strings in []string?
+2.4k Javascript : Shuffle or randomize array example
+10.8k Golang : Encrypt and decrypt data with TripleDES
+3.7k Golang : Format numbers to nearest thousands such as kilos millions billions and trillions
+5.3k Golang : Timeout example
+17.2k Golang : Calculate future date with time.Add() function