photo upload (app-side) complete and tested