I'm wondering if this should be an upload function in the api, instead of the model.  I'm not perfectly clear what its doing here, if we're actually uploading, or storing a file separate from the model itself; if so I'd inclined to have it in the API