我正在使用 FileSystemWatcher 将传入图像(通过 FTP)观看到文件夹,我正在重新调整传入图像的大小。
问题是,我正在通过覆盖原始图像来重新调整图像大小;因为这个 FileSystemWatcher 不断创建更改的事件。我想在调整大小和保存调整大小的图像时抑制 FileSystemWatcher 事件。但不是在使用 FTP 复制文件时,这可能同时发生。传入的图像数量可能高达 3000+ ......我等不及要开始处理了。
任何人都可以给我任何解决方案。
问候,
阿米特慢跑
我正在使用 FileSystemWatcher 将传入图像(通过 FTP)观看到文件夹,我正在重新调整传入图像的大小。
问题是,我正在通过覆盖原始图像来重新调整图像大小;因为这个 FileSystemWatcher 不断创建更改的事件。我想在调整大小和保存调整大小的图像时抑制 FileSystemWatcher 事件。但不是在使用 FTP 复制文件时,这可能同时发生。传入的图像数量可能高达 3000+ ......我等不及要开始处理了。
任何人都可以给我任何解决方案。
问候,
阿米特慢跑
Private thisFile as String = ""
' when resizing/etc:
thisFile = Name_of_file
观察者事件:
Private Sub FileChanged(ByVal source As Object, ByVal e As _
System.IO.FileSystemEventArgs)
If e.FullPath.ToUpper = thisFile.ToUpper then exit sub
...
End Sub
您还可以将所有未处理的图像存储在 List(of String) 中,只要它们在列表中,就将它们全部排除(完成后删除它们):
If myList.Contains(e.FullPath.ToUpper) Then Exit Sub
将 FileSystemWatcher.NotifyFilter 属性设置为 NotifyFilters.CreationTime。