First pass at upload via url.

Also correct callbacks for executefn

issue #768