code: func (d Datastore) UploadFile(ctx context.Context, file string, path string, param *soap.Upload) error {
  	u, p, err := d.uploadTicket(ctx, path, param)
  	if err != nil {
  		return err
  	}
  	return d.Client().UploadFile(ctx, file, u, p)
  }
docs: // UploadFile via soap.Upload with an http service ticket