Пример #1
0
Файл: app.py Проект: ceynri/FIC
def decompress():
    '''批量解压fic文件并返回解压后的图片'''

    if model.quality_level != 'medium':
        model.switch_quality_level('medium')
    # 获取文件对象
    files = request.files.getlist('files')
    ret = []
    for rawfile in files:
        # 获取fic对象
        fic = File.load_binary(rawfile)
        file = File(rawfile)

        data = model.decode(feat=fic['feat'],
                            tex=fic['tex'],
                            intervals=fic['intervals'])

        # 获取完整结果图
        x_output = data['recon'] + data['resi_decoded']

        # 保存结果图片
        # file_name = file.name_suffix('fic', ext='.bmp')
        file_name = file.name_suffix('fic', ext=fic['ext'])
        file_path = get_path(file_name)
        save_image(x_output, file_path)

        # 待返回的结果数据
        result = {
            'name': file_name,
            'data': get_url(file_name),
            'size': path.getsize(file_path),
        }
        ret.append(result)
    # 响应请求
    response = jsonify(ret)
    return response