photo upload and partial upload