code: def upload_file(self, source, dest_uri):
          
  
          folder_key, name = self._prepare_upload_info(source, dest_uri)
  
          is_fh = hasattr(source, 'read')
          fd = None
  
          try:
              if is_fh:
                  # Re-using filehandle
                  fd = source
              else:
                  # Handling fs open/close
                  fd = open(source, 'rb')
  
              return MediaFireUploader(self.api).upload(
                  fd, name, folder_key=folder_key,
                  action_on_duplicate='replace')
          finally:
              # Close filehandle if we opened it
              if fd and not is_fh:
                  fd.close()
docs: Upload file to MediaFire.
  
          source -- path to the file or a file-like object (e.g. io.BytesIO)
          dest_uri -- MediaFire Resource URI