<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def upload_file_and_send_file_offer(self, file_name, user_id, data=None, input_file_path=None, content_type='application/octet-stream', auto_open=False, prevent_share=False, scope='content/send'):
 """ Upload a file of any type to store and return a FileId once file offer has been sent. No user authentication required """

        if input_file_path:
            with open(input_file_path, 'rb') as f:
                data = f.read()

        if not data:
            raise ValueError('Either the data of a file or the path to a file must be provided')

        params = {
            'fileName': file_name,
            'userId': user_id,
            'autoOpen': 'true' if auto_open else 'false',
            'preventShare': 'true' if prevent_share else 'false',
        }

        return _post(
            token=self.oauth.get_app_token(scope),
            uri='/user/media/file/send?' + urllib.urlencode(params),
            data=data,
            content_type=content_type
        )