示例#1
0
文件: auth.py 项目: gongxiujin/rgcpis
def response_file(data, filename):
    """
    :param data: response data
    :param filename:
    :return: return a file to client
    """
    from flask import Response
    from ctypes import create_string_buffer
    import mimetypes, struct
    from werkzeug.datastructures import Headers
    # buf = create_string_buffer(len(data))
    # struct.pack_into(str(len(data))+"s", buf, 0, data)
    response = Response()
    response.data = data
    response.status_code = 200
    mimetype_tuple = mimetypes.guess_type(filename)
    response.default_mimetype=mimetype_tuple[0]
    response_headers = Headers({
        'Pragma': "no-cache",
        'Expires': '0',
        'Cache-Control': 'must-revalidate, post-check=0, pre-check=0',
        'Content-Type': mimetype_tuple[0],
        'Content-Disposition': 'attachment; filename=\"%s\";' % filename,
        'Content-Transfer-Encoding': 'binary',
        'Content-Length': len(response.data)
    })
    if not mimetype_tuple[1] is None:
        response.headers.update({
            'Content-Encoding': mimetype_tuple[1]
        })

    response.headers = response_headers
    return response
示例#2
0
def static_data_br_states_view():
    """

    :return:
    """
    path_states_json = os.path.join(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'data',
        'br-states.json')
    with open(path_states_json) as f:
        resp = Response(f.read())
        resp.default_mimetype = 'plain/json'
        return resp
示例#3
0
def static_data_br_states_view():
    """

    :return:
    """
    path_states_json = os.path.join(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
        'data', 'br-states.json'
    )
    with open(path_states_json) as f:
        resp = Response(f.read())
        resp.default_mimetype = 'plain/json'
        return resp