asp.net怎样做到一个文件用户只能下载一次?

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:37:12
下载权限已经基本做好,就是有些文件,我想让用户只能下载一次,有什么好点的方法呢?目前我想的是当用户点击下载按钮后就更改用户权限让他不能再下载,不知道是不是可行?还有就是像论坛那种下载附件后扣掉一定数量的积分又是怎么做的呢?希望知道的人可以给我讲讲思路,讲的清晰可加分,先谢谢了。
我想说的是,用户再次下载时我想让他知道他仅有的一次下载机会已经用了。。那么也是可以做到的,对吧,将那个状态值设为另外的一个值时就这样提醒用户。。。谢谢各位,稍后给出最佳答案。

你可以在数据库中文件的表设置一个字段,当这个文件被下载后值变化,在你下载的按钮里,你可以先判断这个字段的值,通过这个值来设置文件只能被下载一次,当然了,你还得和你的当前用户关联.用session不可以吗?首先设置个变量保存到session中,到程序的最后你在次把这个变量赋个值,在下载的时候先检查这个变量的内容.当然了所有的都得和用户表关联起来的.不能这个文件这个人下载了不让其它人下载了.是吧?至于积分,可以在文件的表里设置它的分数,下载完成后让总分减去这个分数就好了吧.在用户表里设置用户的总积分.以上观点如果有什么不合适了的话,希望可以指出来.呵呵

定义一个Bool变量设为True,再他点击了那个下载的链接后将Bool值设为False,这不很简单吗?

重新建立一张表,里面设置每个用户对应相对文件是否可被下载...当用户可以下载的时候 或则在此表找不到记录的时候 则扣除用户积分

当然积分 其实可以算做用户属性的一种 也可以重新建立一张表

记录它的ip

在数据库中添加用户状态,可以为int型,当用户登陆,这个状态一起被加载进来,这样只需要一个if就可以进行判断了,然后让下载按钮的显示状态为true或者false。