def callback(): """ 修改记录 """ # 检查用户权限 _common_logic.check_user_power() # 初始化输出值 result = {"state": "FAIL", "url": "", "title": "上传失败", "original": ""} # 获取上传文件 try: # upfile为前端HTML上传控件名称 upload = request.files.get('upfile') # 如果没有读取到上传文件或上传文件的方式不正确,则返回上传失败状态 if not upload: return result # 取出文件的名字和后缀 name, ext = os.path.splitext(upload.filename) # 给上传的文件重命名,默认上传的是图片 if ext and ext != '': file_name = datetime_helper.to_number() + random_helper.get_string( 5) + ext else: file_name = datetime_helper.to_number() + random_helper.get_string( 5) + '.jpg' upload.filename = file_name # 设置文件存储的相对路径 filepath = '/upload/' + datetime_helper.to_number('%Y%m%d') + '/' # 组合成服务器端存储绝对路径 upload_path = os.getcwd() + filepath # 如果目录不存在,则创建目录 if not os.path.exists(upload_path): os.mkdir(upload_path) # 保存文件 upload.save(upload_path + upload.filename, overwrite=True) # 设置输出参数(返回相对路径给客户端) result['title'] = result['original'] = upload.filename result['url'] = filepath + upload.filename result['state'] = 'SUCCESS' except Exception as e: log_helper.error('上传失败:' + str(e.args)) # 直接输出json return result
def create_strs(): c_chars = random_helper.get_string(length) strs = ' %s ' % ' '.join(c_chars) font = ImageFont.truetype(font_type, font_size) font_width, font_height = font.getsize(strs) draw.text(((width - font_width) / 3, (height - font_height) / 3), strs, font=font, fill=fg_color) return ''.join(c_chars)
def test(self): print('获取0到100之间的随机数') print(random_helper.get_number_for_range(0, 100)) print(random_helper.get_number_for_range(0, 100)) print('获取长度为5的数字随机码') print(random_helper.get_number(5)) print(random_helper.get_number(5)) print('获取长度为6的英文随机码') print(random_helper.get_letters(6)) print(random_helper.get_letters(6)) print('获取长度为6的数字与英文随机码') print(random_helper.get_string(6)) print(random_helper.get_string(6)) print('获取uuid') print(random_helper.get_uuid()) print(random_helper.get_uuid())
def create_strs(): c_chars = random_helper.get_string(length) strs = ' %s ' % ' '.join(c_chars) if platform.system() == "Windows": font_type = 'arial.ttf' font = ImageFont.truetype(font_type, font_size) font_width, font_height = font.getsize(strs) draw.text(((width - font_width) / 3, (height - font_height) / 3), strs, font=font, fill=fg_color) return ''.join(c_chars)
font = ImageFont.truetype(font_type, font_size) font_width, font_height = font.getsize(strs) draw.text(((width - font_width) / 3, (height - font_height) / 3), strs, font=font, fill=fg_color) return ''.join(c_chars) if draw_lines: create_line() if draw_points: create_points() strs = create_strs() params = [ 1 - float(random_helper.get_number_for_range(1, 2)) / 100, 0, 0, 0, 1 - float(random_helper.get_number_for_range(1, 10)) / 100, float(random_helper.get_number_for_range(1, 2)) / 500, 0.001, float(random_helper.get_number_for_range(1, 2)) / 500 ] img = img.transform(size, Image.PERSPECTIVE, params) img = img.filter(ImageFilter.EDGE_ENHANCE_MORE) return img, strs if __name__ == '__main__': code_img, capacha_code = create_verify_code() # print(capacha_code) code_img.save('xx_' + random_helper.get_string(3) + '.jpg', 'JPEG') # code_img.show()