From 06a78d0cea159e0e7cf52559c19be629101a3998 Mon Sep 17 00:00:00 2001 From: Fabian Fritzsche Date: Fri, 3 Jul 2020 02:22:30 +0200 Subject: [PATCH] Added preview bypass for .gif files --- http/preview.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/http/preview.go b/http/preview.go index 060d60eb..8619adae 100644 --- a/http/preview.go +++ b/http/preview.go @@ -3,6 +3,7 @@ package http import ( "fmt" "image" + "image/gif" "net/http" "github.com/disintegration/imaging" @@ -79,6 +80,18 @@ func handleImagePreview(w http.ResponseWriter, r *http.Request, file *files.File } defer fd.Close() + if format == imaging.GIF && size == sizeBig { + g, err := gif.DecodeAll(fd) + if err != nil { + return errToStatus(err), err + } + + if gif.EncodeAll(w, g) != nil { + return errToStatus(err), err + } + return 0, nil + } + img, err := imaging.Decode(fd, imaging.AutoOrientation(true)) if err != nil { return errToStatus(err), err