Установите файл конфигурации в известном месте, которое позволит человеку, устанавливающему веб-приложение, точно описать, какой каталог (или каталоги) можно просматривать. Вы определенно не хотите, чтобы пользователь веб-приложения мог просматривать любой каталог.
Затем у вас есть выбор: сканировать настроенные каталоги при загрузке страницы или в отдельном потоке. Если в отдельном потоке, веб-приложение просто должно отображать текущее содержимое любого списка, который заполняет ваш внутренний поток.
Используйте какой-то уникальный идентификатор для каждого файла. Вам не следует использовать имя файла, если вы не готовы выполнить все виды очистки и проверки того, что пользователь веб-приложения не предоставил путь к какому-либо другому расположению на вашем сервере и что символы в нем безопасны. Уникальный идентификационный номер позволит вам посмотреть (например, на карте), какой файл хочет просмотреть пользователь.
Наконец, отображение файла так же просто, как чтение / запись, но вам, вероятно, следует использовать потоковый подход, а не пытаться прочитать весь файл сразу и затем сбросить его по соединению.
Если вы не планируете форматировать файл, вам, вероятно, следует установить тип содержимого как «text / plain» (по умолчанию будет «text / html», что, скорее всего, будет отображаться неправильно).
Если вы хотите отформатировать его, вам нужно выяснить, как это сделать самостоятельно.