You can have multiple guards at every level of a routing hierarchy. The router checks the CanDeactivate and CanActivateChild guards first, from the deepest child route to the top. Then it checks the CanActivate guards from the top down to the deepest child route. If the feature module is loaded asynchronously, the CanLoad guard is checked before the module is loaded. If any guard returns false, pending guards that have not completed will be canceled, and the entire navigation is canceled.
Почему не можете использовать? Если у вас app-config.service помечен как providedIn: 'root', то всё должно быть ок. Если же нет, попробуйте просто добавить его в массив deps выше.
Зависит от того какой адаптер вы используете. NativeDateAdapter или MomentDateAdapter. Тут скорее всего нужен момент, так как дату форматриовать нативный Date не умеет. В доках есть как формат поменять https://material.angular.io/components/datepicker/... . Найдите пример с Datepicker with custom formats
Лень весь процесс писать, но в кратце (без реактивной формы, с реактивной формой почти то же самое, только надо будет подписаться на .valueChanges вместо change)
Должен быть input type="file"
Надо подписаться на (change)
Считать файл через FileReader и через метод readAsDataURL получить base64