接着恢复文件夹A,我觉的只会恢复文件2、文件3,而不会恢复文件1。
因为文件1,是在文件夹A之前被删除的,而文件2、文件3是删除文件夹A的同时被删除,所以在恢复文件夹A的时候,只能恢复文件2、文件3,而不会恢复文件1(手工恢复除外
应该怎么实现
6 个解决方案
#1
没做过,有个想法:
定义一个特殊的文件夹,作为回收站。
删除操作,就是把文件或目录(及子文件、子目录)移动到回收站,并记录其原路径。
恢复操作,就是按记录的原路径,将回收站的文件移动到原路径。
彻底删除,就是在回收站里将文件删掉,并删除其原路径信息。
定义一个特殊的文件夹,作为回收站。
删除操作,就是把文件或目录(及子文件、子目录)移动到回收站,并记录其原路径。
恢复操作,就是按记录的原路径,将回收站的文件移动到原路径。
彻底删除,就是在回收站里将文件删掉,并删除其原路径信息。
#2
偷懒点的实现方式下,恢复都是逐个回复的。也就是在回收站内的每一个删除项全都是孤立的,只有删除的时间先后不同而已。
如果要实现联动效果的恢复,就要增加“删除事件”的管理,那么数据模型就有两个实体:删除事件 和 删除项,一个删除事件可以对应N个删除项。恢复时以删除事件为主来进行恢复。不过这样会复杂化很多问题。
不如就按照一个一个孤立的删除项来管理好了,把检索删除项和批量恢复删除项做的方便点就是了。
如果要实现联动效果的恢复,就要增加“删除事件”的管理,那么数据模型就有两个实体:删除事件 和 删除项,一个删除事件可以对应N个删除项。恢复时以删除事件为主来进行恢复。不过这样会复杂化很多问题。
不如就按照一个一个孤立的删除项来管理好了,把检索删除项和批量恢复删除项做的方便点就是了。
#3
这个好像很容易,别担心编码量和复杂度.
首先为每次删除做文件/文件夹转储(转储后的名称为系统生成的唯一标示)并与原文件名做关联.
其次读取你用于存储转储文件(被删除的文件或文件夹),然后显示关联文件名
首先为每次删除做文件/文件夹转储(转储后的名称为系统生成的唯一标示)并与原文件名做关联.
其次读取你用于存储转储文件(被删除的文件或文件夹),然后显示关联文件名
#4
#5
有回收站这个表的是吧
可以这个表加一个字段 is_from_dir (判断是否是从文件夹删除的) 默认值是 0
当你直接删除文件的时候 把文件基本数据存入回收站这个表中 is_from_dir这个字段的值不用改变
当从文件夹删除文件的时候 可以在is_from_dir 这个字段存入文件夹的ID
恢复的时候 查询是否有这个ID的 恢复就可以了
可以这个表加一个字段 is_from_dir (判断是否是从文件夹删除的) 默认值是 0
当你直接删除文件的时候 把文件基本数据存入回收站这个表中 is_from_dir这个字段的值不用改变
当从文件夹删除文件的时候 可以在is_from_dir 这个字段存入文件夹的ID
恢复的时候 查询是否有这个ID的 恢复就可以了
#6
你把每一次删除都当成一个单独的操作来想呢
这样你想恢复谁就恢复谁了撒
这样你想恢复谁就恢复谁了撒
#1
没做过,有个想法:
定义一个特殊的文件夹,作为回收站。
删除操作,就是把文件或目录(及子文件、子目录)移动到回收站,并记录其原路径。
恢复操作,就是按记录的原路径,将回收站的文件移动到原路径。
彻底删除,就是在回收站里将文件删掉,并删除其原路径信息。
定义一个特殊的文件夹,作为回收站。
删除操作,就是把文件或目录(及子文件、子目录)移动到回收站,并记录其原路径。
恢复操作,就是按记录的原路径,将回收站的文件移动到原路径。
彻底删除,就是在回收站里将文件删掉,并删除其原路径信息。
#2
偷懒点的实现方式下,恢复都是逐个回复的。也就是在回收站内的每一个删除项全都是孤立的,只有删除的时间先后不同而已。
如果要实现联动效果的恢复,就要增加“删除事件”的管理,那么数据模型就有两个实体:删除事件 和 删除项,一个删除事件可以对应N个删除项。恢复时以删除事件为主来进行恢复。不过这样会复杂化很多问题。
不如就按照一个一个孤立的删除项来管理好了,把检索删除项和批量恢复删除项做的方便点就是了。
如果要实现联动效果的恢复,就要增加“删除事件”的管理,那么数据模型就有两个实体:删除事件 和 删除项,一个删除事件可以对应N个删除项。恢复时以删除事件为主来进行恢复。不过这样会复杂化很多问题。
不如就按照一个一个孤立的删除项来管理好了,把检索删除项和批量恢复删除项做的方便点就是了。
#3
这个好像很容易,别担心编码量和复杂度.
首先为每次删除做文件/文件夹转储(转储后的名称为系统生成的唯一标示)并与原文件名做关联.
其次读取你用于存储转储文件(被删除的文件或文件夹),然后显示关联文件名
首先为每次删除做文件/文件夹转储(转储后的名称为系统生成的唯一标示)并与原文件名做关联.
其次读取你用于存储转储文件(被删除的文件或文件夹),然后显示关联文件名
#4
#5
有回收站这个表的是吧
可以这个表加一个字段 is_from_dir (判断是否是从文件夹删除的) 默认值是 0
当你直接删除文件的时候 把文件基本数据存入回收站这个表中 is_from_dir这个字段的值不用改变
当从文件夹删除文件的时候 可以在is_from_dir 这个字段存入文件夹的ID
恢复的时候 查询是否有这个ID的 恢复就可以了
可以这个表加一个字段 is_from_dir (判断是否是从文件夹删除的) 默认值是 0
当你直接删除文件的时候 把文件基本数据存入回收站这个表中 is_from_dir这个字段的值不用改变
当从文件夹删除文件的时候 可以在is_from_dir 这个字段存入文件夹的ID
恢复的时候 查询是否有这个ID的 恢复就可以了
#6
你把每一次删除都当成一个单独的操作来想呢
这样你想恢复谁就恢复谁了撒
这样你想恢复谁就恢复谁了撒