1234567891011121314151617181920212223242526272829 |
- package images
- import (
- "bytes"
- "io"
- "path/filepath"
- "strings"
- )
- /*
- * Preprocess image files on client side.
- * 1. possibly adjust the orientation
- * 2. resize the image to a width or height limit
- * 3. remove the exif data
- * Call this function on any file uploaded to SeaweedFS
- *
- */
- func MaybePreprocessImage(filename string, data []byte, width, height int) (resized io.ReadSeeker, w int, h int) {
- ext := filepath.Ext(filename)
- ext = strings.ToLower(ext)
- switch ext {
- case ".png", ".gif":
- return Resized(ext, bytes.NewReader(data), width, height, "")
- case ".jpg", ".jpeg":
- data = FixJpgOrientation(data)
- return Resized(ext, bytes.NewReader(data), width, height, "")
- }
- return bytes.NewReader(data), 0, 0
- }
|