То, что вы хотите сделать, состоит из двух частей: страница просмотра, которая отображает ссылку (со значком) для каждого файла и отдельное действие (в одном из ваших контроллеров), которое доставляет фактическое содержимое файла.
Возможно, самый простой подход - это проанализировать тип файла при загрузке файлов в базу данных, а затем сохранить тип файла в отдельном столбце в базе данных.Для большинства файлов вы можете получить тип файла из первых нескольких байтов файлов (см. Магическое число ).
Действие контроллера, ответственного за доставку содержимого файла пользователюэто просто реализовать.Основываясь на некотором идентификаторе файла, он загружает его из базы данных в байтовый массив и возвращает его как FileContentResult экземпляр.
Чтобы создать ссылку на файл (на странице просмотра), просто используйте Html.ActionLink или аналогичную функцию с именем контроллера, именем действия и идентификатором файла.