mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-11-01 02:43:35 +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
 | |
| }
 | 
