コード例 #1
0
ファイル: webcontent.py プロジェクト: ipedrazas/blibb-api
def newPicture():
    e = Event('getImage.newPicture')
    pict = Picture()
    blibb = request.form['b']
    key = request.form['k']
    user = get_user_name(key)
    items = dict()
    r = pict.create(user, items, blibb)
    e.save()
    if r != 'null':
        return r
    else:
        abort(404)
コード例 #2
0
ファイル: webcontent.py プロジェクト: ipedrazas/blibb-api
def upload():
    current_app.logger.info('Upload Image')
    login_key = request.form.get('login_key', False)
    # app_token = request.form.get('app_token', False)
    app_user = request.form.get('u', False)

    if login_key:
        user = get_user_name(login_key)
    else:
        user = app_user

    if 'file' in request.files:
        file = request.files['file']
        if is_image(file.filename):
            object_id = Picture.create(user, {}, file.filename)
        elif is_attachment(file.filename):
            object_id = Attachment.create(user, {}, file.filename)

        filename = secure_filename(object_id + '-' + file.filename)
        c = connect_s3()
        bucket_name = get_config_value('BUCKET')
        bucket = c.create_bucket(bucket_name)
        k = Key(bucket)
        k.key = user + '/' + filename
        k.set_metadata('owner', user)
        extension = os.path.splitext(filename)[1]
        k.content_type = file.content_type
        current_app.logger.info('Extension: ' + str(extension))
        current_app.logger.info('file.content_type: ' + str(file.content_type))
        if extension.lower() == '.jpg':
            k.content_type = 'image/jpeg'
        if extension.lower() == '.png':
            k.content_type = 'image/png'
        if extension.lower() == '.gif':
            k.content_type = 'image/gif'
        current_app.logger.info('Extension: ' + str(extension))
        current_app.logger.info('file.content_type: ' + str(k.content_type))
        k.set_contents_from_string(file.read())
        k.make_public()
        url = 'http://%s/%s' % (bucket_name, k.key)
        current_app.logger.info(
            '########## url: ' + str(url) + ' ' + str(bucket)
        )
        if is_image(file.filename):
            Picture.add_url(object_id, url)
        elif is_attachment(file.filename):
            object_id = Attachment.add_url(object_id, file.filename)

        return jsonify({'upload': url})
    return jsonify({'upload': 'error'})