在我的程序中,当将文件移动到受控文件夹并重定向到另一个目录时,我需要实现文件拦截。我到底是什么意思例如,我们有3个文件夹“ A”,“ B”,“ C”。用户将文件从“ A”移动到“ B”(“ B”是我们正在跟踪的文件夹),我们需要在完全移动文件之前将其重定向到“ C”。
我使用FileSystemWatcher在Internet上找到了一个解决方案,但是它的事件和属性还不够,通过它您可以了解您是创建还是移动(复制)了文件,但是我们永远不会知道它是从哪里来的,我们赢了在文件完全移动之前,无法重定向它。
一般来说,问题是:可以以某种方式解决该问题,并且可以解决吗?
该问题的作者承认是答案的评论摘要。
使用文件夹“ C”作为您的临时存储。删除除“写入”之外的所有用户权限。现在,用户将能够删除文件,但无法读取文件夹中的内容。
您可以同步或异步运行您的应用程序。同步允许您在复制/移动过程完成后捕获每个文件,而异步将是计划任务,每X分钟/秒查找一次新文件。对于异步方法,请确保跳过锁定的文件并在下次运行时对其进行处理。