code: func (c *Client) TorrentAddFile(filepath string) (torrent *Torrent, err error) {
  	// Validate
  	if filepath == "" {
  		err = errors.New("filepath can't be empty")
  		return
  	}
  	// Get base64 encoded file content
  	b64, err := file2Base64(filepath)
  	if err != nil {
  		err = fmt.Errorf("can't encode '%s' content as base64: %v", filepath, err)
  		return
  	}
  	// Prepare and send payload
  	return c.TorrentAdd(&TorrentAddPayload{MetaInfo: &b64})
  }
docs: /*
  	Adding a Torrent
  	https://github.com/transmission/transmission/blob/2.9x/extras/rpc-spec.txt#L371
  */
  // TorrentAddFile is wrapper to directly add a torrent file (it handles the base64 encoding
  // and payload generation). If successful (torrent added or duplicate) torrent return value
  // will only have HashString, ID and Name fields set up.