golangでs3にpng画像をアップロードしようとしています。
まず以下のコードでpngファイルを生成します
golang
1 file, err := os.Create("sample.png") 2 if err != nil { 3 ctx.JSON(http.StatusInternalServerError, ErrorDocument("internal sesrver error")) 4 } 5 defer file.Close() 6 //画像データのコピー 7 io.Copy(file, ctx.Request.Body)
そして、下記のコードでリサイズしようとしたのですが、「png: invalid format: not a PNG file」とエラー吐き、デコードに失敗してしまいます。
DecodeConfigを出力してみたところ {<nil> 0 0}となります。
pngファイルは確かに存在していますし、それらのコードを書かずにfileを取得して、そのままアップロードすることはできました。これはどういったエラーなのでしょうか
golnag
1 file, err := os.Open("sample.png") 2 if err != nil { 3 log.Println("not found image:", err) 4 } 5 a, err := png.DecodeConfig(file) 6 fmt.Println(a) 7 if err != nil { 8 log.Fatal(err) 9 } 10 img, err := png.Decode(file) 11 if err != nil { 12 log.Println("failed to decode image", err) 13 } 14 file.Close() 15 16 m := resize.Resize(1280, 780, img, resize.Lanczos3) 17 18 err = png.Encode(file, m) 19 if err != nil { 20 log.Println("failed to encode image:", err) 21 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/28 07:54
2020/09/28 08:28