You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							723 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							29 lines
						
					
					
						
							723 B
						
					
					
				| 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 | |
| }
 |