| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | #!/usr/bin/env python# -*- coding: utf-8 -*-"""    demeter web page    name:upload.py    author:rabin"""from __load__ import *from datetime import *import osimport uuid#from PIL import Imageclass upload_path(Load): 	@Web.auth	@Web.setting	def post(self, *args, **kwargs):		url = self.request.protocol + "://" + self.request.host		url = 'http://admin.nongxiaohe.com'		file_metas = self.request.files["file"]		#crop = self.input('crop', 1)		crop = False		# print(file_metas)		day = str(date.today())		day = day.split('-')		for meta in file_metas:			#meta['filename']			file_name =  str(uuid.uuid5(uuid.uuid1(), 'file'))			file_path = day[0] + '/' + day[1] + '/' + day[2]			file_path = File.mkdirs(os.path.join(Demeter.path, 'runtime','upload', file_path)) + '/' + Demeter.md5(file_name) + '.jpg'			with open(file_path, 'wb') as up:				up.write(meta['body'])		if crop:			#裁图类型,暂时居中裁图			file_path = cropImage(file_path)		self.out('yes', {'src':url + file_path.replace(Demeter.path + 'runtime', '')})		#file = url + file_path.replace(Demeter.path + 'runtime', '')		#self.write({'state':True,'file_path':file, 'src':file})def cropImage(file):	img = Image.open(file)	width = img.size[0]	height = img.size[1]	size = 0	x = 0	y = 0	if width == height:		return file	elif width < height:		size = width		x = 0		y = (height-width)/2	else:		size = height		x = (width-height)/2		y = 0	#img.thumbnail((500, 500))	crop = img.crop((x, y, size+x, size+y))	file = file + '_crop_center.jpg'	crop.save(file)	return file
 |