Exemple #1
0
def user_upload_head_img(user_id):
    app.logger.info("request:[%s],[%s],[%s]" % (request.headers, request.args, request.json))
    app.logger.info("current_user :%s" % current_user.user_id)
    app.logger.info("start upload file")

    if current_user.user_id != user_id:
        app.logger.warn("user not assist:%s,%s\n", current_user.user_id, user_id)
        abort(401)

    # upload new head portrait to store and update info's url
    post_file = request.files.get('file1')
    app.logger.info("files :%s" % request.files)
    if post_file:
        # get file and save it to local tmp
        fname = secure_filename(post_file.filename)
        ext_name = fname.split('.')[-1]
        obj_id = str(ObjectId())
        pic_name = '%s.%s' % (obj_id, ext_name)

        localfile = os.path.join(app.config['UPLOAD_FOLDER'], pic_name)
        app.logger.info("start upload file to local store:[%s],[%s]" % (fname, localfile))
        post_file.save(localfile)

        # upload file to oss
        pic_url = 'zuohaoshi/%s' % current_user.user_id
        # pic_name = '%s' % fname  # current_user.user_id + ext_name
        file_url = upload_file_to_store(pic_url, pic_name, localfile)
        if file_url is None:
            app.logger.error("file upload failed")
            abort(400)

        app.logger.info("end upload file to store:%s\n" % file_url)

        # update user's portrait info
        img_info = dict()
        img_info['head_img'] = '%s' % file_url

        # delete local tmp file
        os.remove(localfile)

        user = User(current_user.user_id)
        ret = user.modify_user(img_info)
        ret_json = jsonify(dict(ret, **img_info))
        app.logger.info("modify user head image %s:[%s,%s]\n" % (current_user.user_id, ret, img_info))
        return ret_json
    else:
        app.logger.error("missing something:file key is lost")
        abort(400)
Exemple #2
0
def modify_user():
    app.logger.info("modify_user req:[%s],[%s],[%s]" % (request.headers, request.args, request.json))
    app.logger.info("current_user :%s" % current_user.user_id)

    user = User(current_user.user_id)
    info = request.json

    if info is None:
        app.logger.error("missing something:info key is lost")
        abort(400)

    ret = user.modify_user(info)

    ret_json = jsonify(ret)
    app.logger.info("modify_user %s:[%s]" % (current_user.user_id, ret))
    return ret_json