Files
2022-10-04 00:26:40 +11:00

35 lines
792 B
Go

package plg_image_thumbnail
import (
"bytes"
"errors"
. "github.com/mickael-kerjean/filestash/server/common"
"io"
"os/exec"
)
func createThumbnailForJpeg(reader io.ReadCloser) (io.ReadCloser, error) {
name := "thumbnail_web.bin"
err := setupProgram(name, binaryThumbnailJpeg)
if err != nil {
Log.Warning("plg_image_thumbnail %s")
reader.Close()
return nil, err
}
var buf bytes.Buffer
var errBuff bytes.Buffer
cmd := exec.Command("/tmp/" + name)
cmd.Stdin = reader
cmd.Stdout = &buf
cmd.Stderr = &errBuff
if err := cmd.Run(); err != nil {
reader.Close()
Log.Debug("plg_image_thumbmail::resize_jpeg ERR %s", string(errBuff.Bytes()))
return nil, errors.New(string(errBuff.Bytes()))
}
cmd.Wait()
reader.Close()
return NewReadCloserFromBytes(buf.Bytes()), nil
}