client: add the ability to upload an arbitrary blob