Пример #1
0
def listen():
    """"监听发送来的消息,并使用socketio向所有客户端发送消息"""
    mes = {"status": "unknown error"}
    text = request.form.get('data')
    alias = request.form.get('alias')
    file_obj = request.files.get('files')

    if file_obj:
        filename = file_obj.filename
        file_obj.save('static/files/' + filename)
        text = filename

    if text:
        _db = DBHelper()
        _from = request.headers.get('X-Real-Ip') or request.remote_addr
        _type = 'file' if file_obj else 'text'
        _id = _db.insert([alias, _from, _type, text])
        data = _db.select_by_id(_id)
        data['alias'] = data['alias'] or data['id']
        text = data['content']
        data['content'] = text[:40].strip() + '...' if len(
            text) >= 40 else text
        socket_io.emit(data=json.dumps(data), event="mes")
        mes['status'] = "success"

    print(mes)
    return json.dumps(mes)
Пример #2
0
def operation():
    """operation"""
    if request.method == 'GET':
        _id = request.args.get('id')
        if not _id:
            return {'msg': 'error'}
        _db = DBHelper()
        data = _db.select_by_id(_id)
        filename = data['content']
        response = make_response(
            send_from_directory('static/files', filename, as_attachment=True))
        response.headers[
            "Content-Disposition"] = "attachment; filename={}".format(
                filename.encode().decode('latin-1'))
        return response

    elif request.method == 'POST':
        _id = request.form.get('id')
        if not _id:
            return {'msg': 'error'}
        _db = DBHelper()
        data = _db.select_by_id(_id)
        return json.dumps({'text': data['content']})