golang獲取上傳圖片的寬和高:
package main import ( "fmt" "image" "io/ioutil" "os" "path/filepath" ) const dir_to_scan string = "/home/da/to_merge" func main() { files, _ := ioutil.ReadDir(dir_to_scan) for _, imgFile := range files { if reader, err := os.Open(filepath.Join(dir_to_scan, imgFile.Name())); err == nil { defer reader.Close() im, _, err := image.DecodeConfig(reader) if err != nil { fmt.Fprintf(os.Stderr, "%s: %v ", imgFile.Name(), err) continue } fmt.Printf("%s %d %d ", imgFile.Name(), im.Width, im.Height) } else { fmt.Println("Impossible to open the file:", err) } } }
當使用image.Decode處理圖片文件時,如報image: unknown format 錯誤。
執行以上代碼會報
·image: unknown format·
這是因為忘記引入包import _ "image/jpeg",image包不知道怎么Decode圖片,需要導入"image/jpeg"去解碼jpg圖片。
gif和png圖片需要導入相應"image/gif",“image/png”。
如這三種圖片類型都用到,需要都導入。
import ( _"image/gif" _ "image/jpeg" _ "image/png" )