Просто обработайте его как любой запрос ресурса: только вместо того, чтобы отправлять обратно HTML, вы отправляете обратно соответствующие данные через поток ответов (и, надеюсь, соответствующие заголовки).
См. этот небольшой пост о том, как отправить обратно изображение. Теперь, если штамповка не слишком инвазивна, просто прочитайте файл и запишите «штампованную» версию в процессе потоковой передачи.
Конечно, я сделал некоторые предположения о ресурсах, но ...
Если вам нужно нужно / нужно выдать временные файлы (и позволить веб-серверу выполнять статическую обработку файлов или что-то еще), тогда просто используйте запрос ресурса для генерации файла и ответьте с помощью перенаправление на соответствующий (теперь сгенерированный) статический ресурс. Если ресурс сгенерирован с помощью одноразового номера, и они не доступны для списков в противном случае, тогда может быть достаточно полагаться на «безопасность через неизвестность» и сохранять ссылку действительной до тех пор, пока она не будет очищена (скажем, все файлы за 6 часов очищены по случаю). Может быть достаточно сделать одноразовый номер, сгенерированный для хэша файла (чтобы устранить необходимость сопоставления ID-> File в базе данных, например) ... но, опять же, это может быть не так.
Удачного кодирования.