Esempio n. 1
0
def upload_imgs():
    app.logger.debug("request:[%s],[%s],[%s]" % (request.headers, request.args, request.json))
    app.logger.debug("current_user :%s" % current_user.user_id)
    app.logger.debug("start upload file")

    # upload new head portrait to store and update post's url
    app.logger.debug("files :%s" % request.files)
    if request.files is None:
        app.logger.error("missing something:file key is lost")
        abort(400)
    if request.files.getlist('file') is None:
        app.logger.error("missing something:file key is lost")
        abort(400)

    d = date.today()
    month = '%d%02d' % (d.year, d.month)

    img_urls = []
    for one_file in request.files.getlist('file'):
        post_file = one_file  # request.files.get(one_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)
        # app.logger.debug("fname:%s,pic_name:%s\n" % (fname, pic_name))

        pic_name = fname

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

        # upload file to oss
        pic_url = 'zuohaoshi/%s/%s' % (current_user.user_id, month)

        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.debug("end upload file to store:%s\n" % file_url)
        # delete local tmp file
        os.remove(localfile)

        img_urls.append(file_url)

    if img_urls:
        # update post's info
        # img_info['img_urls'] = img_urls
        # ret = Activity.post_activity(current_user.user_id, post_type, img_info, post_id)
        app.logger.debug("upload images %s [%s]\n" % (current_user.user_id, img_urls))
        return jsonify({'img_urls': img_urls})
Esempio n. 2
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)