我怎么让使用者不能删除这些文件?(50分)

  • 主题发起人 主题发起人 nywjx
  • 开始时间 开始时间
N

nywjx

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个程序,因为有图片字段,而我将图片放在特定的路径下,文件名是:
20021230111239.jpg这样的。
现在我想让这些jpg文件不能被使用者任意删除,在程序中该怎么做呢?
 
在程序开始的时候将文件读进内存,程序结束的时候,写回去。
 
不行的。是个监控程序,谁知道它什么时候结束。
 
想让用户完全没办法修改是不可能的,因为这些文件是由Windows管理的,用户只要能
访问该目录,那就能访问那些文件,除非这些文件放在别的机器上,而该用户只有读
的权限。
其实把图片放到数据库里也很好,现在可以先对jpg文件压缩再放入数据库,不会占用
太大空间的。
把图片放入数据库和存储为文件,这两种方式我们都做过,有什么问题我们可以继续探讨
 
隐藏它,一般人不会打到,或者设系统属性.
保险一点,打开程序的时候用fileexists检测,如果检测不到报错.
 
首先,只有一台计算机;
我用的是Paradox,可以把图片放到数据库里,可是用户删除数据库文件怎么办?
而且我的程序不断在生成图片文件,存数据库,因为这些图片要以后领导查询,
所以不能让使用者自己删除。
 
要防止删除,最好的办法就是把他打开,可以创建一服务程序,将要防止删除的文件用
共享方式打开,这样可以使用文件,但不能删除此文件了. 试一下就可以了.
 
将数据库放到服务器上.
 
用户有创建的权利,却没有删除的权利,这点数据库完全可以做到,Windows文件管理就
不行了,ligia说的是个好方法,但这样会不会占用很多的资源呢?因为在不断地生成
图片,从文件命名可以看出每秒都在生成新的图片
 
如果文件量不是巨大,估计问题不大,因为打开的时候每个文件只占用一个文件指针.
 
谢谢各位的参与。
并不是每秒都在生成图片,但是也不能把所有的图片都打开啊,这样不是会占用很多资源
吗?
数据库不能放在服务器上,因为只有一台计算机。
 
用hTemp:=FileOpen('文件',fmShareDenyWrite),打开后只占用一个指针的变量.
我打开过1万多个文件都没事.
 
若是确如ligia所说,那他说的那种方法的确是个好方法。同意ligia的意见
 
多人接受答案了。
 
后退
顶部