Just a bit more info on this - I see the documentation for the SIM808 shows that it supports FTP file upload. To use this it has a function to move a file from storage to memory and then upload that to the FTP server. I am making the assumption that this is the memory of the SIM808 module and not the arduino (as the later has very little working SRAM).
Has anyone tried this function? Not sure of the practicalities of uploading a file from the SD card to the GSM module.
The only other alternative I can come up with would be to load the picture data off the SD card as raw bits and upload them to the FTP server as a stream of segmented streams. A bit more fiddly in terms of the coe but saves the need to move the entire file in to RAM.