mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-27 19:53:41 +08:00
27 lines
569 B
Go
27 lines
569 B
Go
package plg_image_transcode
|
|
|
|
import (
|
|
. "github.com/mickael-kerjean/filestash/server/common"
|
|
_ "golang.org/x/image/tiff"
|
|
"image"
|
|
"image/jpeg"
|
|
"io"
|
|
)
|
|
|
|
func transcodeTiff(reader io.Reader) (io.ReadCloser, string, error) {
|
|
img, _, err := image.Decode(reader)
|
|
if err != nil {
|
|
return nil, "", err
|
|
}
|
|
|
|
r, w := io.Pipe()
|
|
go func() {
|
|
err := jpeg.Encode(w, img, &jpeg.Options{Quality: 80})
|
|
w.Close()
|
|
if err != nil {
|
|
Log.Debug("plg_image_transcode::tiff jpeg encoding error '%s'", err.Error())
|
|
}
|
|
}()
|
|
return NewReadCloserFromReader(r), "image/jpeg", nil
|
|
}
|