Exemple #1
0
    def post(self):
        try:
            app.logger.debug(dir(file_upload_parser))
            form = file_upload_parser.parse_args()
            filename_orig = form['file'].filename
            extension = (filename_orig.rsplit('.', 1)[1]).lower()

            if extension.lower() not in ['jpg', 'jpeg', 'bmp', 'gif', 'png']:
                app.logger.error(
                    'ERROR:file format is not supported:{0}'.format(
                        filename_orig))
                return err_response(
                    'not supported file format:{}'.format(extension), 400)

            current_user = get_jwt_identity()

            filename = secure_filename("{0}.{1}".format(
                uuid.uuid4(), extension))
            filesize = save(form['file'], filename, current_user['email'])
            user_id = current_user['user_id']

            # TODO 3: Implement following solution code to put item into Photo table of DynamoDB
            solution_put_photo_info_ddb(user_id, filename, form, filesize)

            return m_response({"photo_id": filename}, 200)
        except Exception as e:
            app.logger.error('ERROR:file upload failed:user_id:{}'.format(
                get_jwt_identity()['user_id']))
            app.logger.error(e)
            return err_response(e, 500)
Exemple #2
0
    def post(self):
        form = file_upload_parser.parse_args()
        filename_orig = form['file'].filename
        extension = (filename_orig.rsplit('.', 1)[1]).lower()
        current_user = get_jwt_identity()

        if extension.lower() not in ['jpg', 'jpeg', 'bmp', 'gif', 'png']:
            app.logger.error(
                'File format is not supported:{0}'.format(filename_orig))
            raise BadRequest(
                'File format is not supported:{0}'.format(filename_orig))

        try:
            filename = secure_filename("{0}.{1}".format(
                uuid.uuid4(), extension))
            filesize = save(form['file'], filename, current_user['email'])
            user_id = current_user['user_id']

            # TODO 3: Implement following solution code to put item into Photo table of DynamoDB
            solution_put_photo_info_ddb(user_id, filename, form, filesize)

            return make_response({'ok': True}, 200)
        except Exception as e:
            app.logger.error('File upload failed:user_id:{0}: {1}'.format(
                current_user['user_id'], e))
            raise InternalServerError('File upload failed: {0}'.format(e))
    def post(self):
        form = file_upload_parser.parse_args()
        filename_orig = form['file'].filename
        extension = (filename_orig.rsplit('.', 1)[1]).lower()
        current_user = get_jwt_identity()

        if extension.lower() not in ['jpg', 'jpeg', 'bmp', 'gif', 'png']:
            app.logger.error('File format is not supported:{0}'.format(filename_orig))
            raise BadRequest('File format is not supported:{0}'.format(filename_orig))

        try:
            filename = secure_filename("{0}.{1}".format(uuid.uuid4(), extension))
            filesize = save(form['file'], filename, current_user['email'])
            insert_basic_info(current_user['user_id'], filename, filename_orig, filesize, form)
            committed = Photo.query.filter_by(user_id=current_user['user_id'],
                                              filename=filename,
                                              filename_orig=filename_orig).first()
            return make_response({'ok': True, 'photo_id': committed.id}, 200)
        except Exception as e:
            app.logger.error('File upload failed:user_id:{0}: {1}'.format(current_user['user_id'], e))
            raise InternalServerError('File upload failed: {0}'.format(e))