I'm using php (transfer) and phpmyadmin (database), not sure what you're using.
Using binary, filechooser, drawingcanvas, and ajax.
filechooser to get the image and set a sprite from FileChooser.FileURLAt(0) (resize, etc)
created drawingcanvas(dc) at the sprite x,y , drawingcanvas.paste, save as png
On dc save set ajax response binary, then ajax request DrawingCanvas.SavedImageURL
Once the ajax runs, set a variable to BinaryData.GetBase64. This variable can be used to pass the image.
10mb phone pictures = 50kb base64 text, not tiny but much, much smaller and without much loss of quality.
Later, when you need the image just pull the base64 string from server (using php) and load it into a sprite with BinaryData.GetBase64&ajax.lastdata
If you want to save an actual file somewhere on the server, I'm not sure how to pass that in php but found a link.
(I ran into issues with passing this variable to the server because I didn't realize, in C3 an ajax "post to url", the URL line of ajax is a GET and the Data line is POST [meaning you have to adjust the $_GET and $_POST of the php file accordingly. Sending 50kb as a GET will be rejected by most servers (error 414 exceeds url length limit), but POST is allowed.)