Exemplo n.º 1
0
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
Exemplo n.º 2
0
 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())
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
        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()