请问asp.net程序如何防止文件被直接下载?

各位好,

本来文件是要求用户登录后通过指定菜单的下载按钮下载。但由于文件都是静态路径,且文件名也没有加密,如http://....../1.jpg 或  http://...../1.xlsx等。

这样用户可能直接在地址栏输入这个文件路径就进行下载,甚至通过1.jpg还可以猜测到服务器有2.jpg。

文件都直接存在服务器上,名称和路径在数据库中存储,名称也没有加密。

由于历史数据量很大,现在也没法从源头去加密重做。请问有什么办法能解决这个问题吗?

我记得以前是用 httpmodule处理,具体查msdn