Foxtable(狐表)用户栏目专家坐堂 → 文件监视器文件创建后触发事件问题


  共有7724人关注过本帖树形打印复制链接

主题:文件监视器文件创建后触发事件问题

帅哥哟,离线,有人找我吗?
xnsiwei
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
文件监视器文件创建后触发事件问题  发帖心情 Post By:2022/9/1 9:08:00 [只看该作者]

文件监视器文件创建后触发事件问题
文件创建以后自动把文件名和文件信息写入数据库

1.下载一个叫”测试文件.txt“的文件,下载完毕后写入数据库的文件的后缀名却为“测试文件.txt.crdownload”

然后弹出错误提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:文件监视器,FileCreated
详细错误信息:
未能找到文件“D:\123\测试文件.txt.crdownload”。

但实际上“D:\123\测试文件“已经存在

2.直接粘贴复制的文件触发没有问题

有解决办法吗?



[此贴子已经被作者于2022/9/1 9:20:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 9:27:00 [只看该作者]

判断一下文件扩展名,如果是.crdownload就不处理

 回到顶部
帅哥哟,离线,有人找我吗?
xnsiwei
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/9/1 11:12:00 [只看该作者]

经测试,判断后缀名后也不能把新下载的文件路径写入数据库,能否有判断下载完后的文件的方式吗?
看来问题就在只能判断触发为下载完的临时文件,下载完后的正式的文件不能触发
数据库路径多了一个”sync.ffs_lock“文件
 
正常的复制粘贴没有问题
请版主指教!
[此贴子已经被作者于2022/9/1 11:37:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 11:35:00 [只看该作者]

没有下载完毕,文件名就是“测试文件.txt.crdownload”
下载完,文件名就是“测试文件.txt”

如果FileCreated监视不到“测试文件.txt”,那就到FileChanged事件处理

 回到顶部
帅哥哟,离线,有人找我吗?
xnsiwei
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/9/1 11:56:00 [只看该作者]

转到FileChanged事件处理后,提示错误,不能找到文件


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 11:58:00 [只看该作者]

不可能不存在的,代码应该用错了。

e.FullPath才是触发事件的文件

 回到顶部
帅哥哟,离线,有人找我吗?
xnsiwei
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/9/1 16:12:00 [只看该作者]

代码如下:请指教
Dim r As Row = Tables("文档汇总").addnew '表增加新行
Dim ifo As New FileInfo(e.FullPath)
If ifo.Extension = ".crdownload" Then
Else
    r("路径") = e.FullPath '文件名及路径赋值到对应列
    r("文件名") = FileSys.GetName(e.Name) '获取去掉路径的文件名赋值到对应列
    r("创建时间") = ifo.CreationTime
    r("最后修改时间") = ifo.LastWriteTime
    r("文件大小") = ifo.Length
    r("文件类型") = ifo.Extension
    DataTables("文档汇总").Save()
End If
[此贴子已经被作者于2022/9/1 16:13:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 16:17:00 [只看该作者]

调试

Dim r As Row = Tables("文档汇总").addnew '表增加新行
msgbox(e.FullPath)
Dim ifo As New FileInfo(e.FullPath)
msgbox(ifo.Extension)
If ifo.Extension = ".crdownload" Then
Else
msgbox(r("路径"))
    r("路径") = e.FullPath '文件名及路径赋值到对应列
msgbox(r("路径"))
msgbox(e.Name)
    r("文件名") = FileSys.GetName(e.Name) '获取去掉路径的文件名赋值到对应列
msgbox(r("文件名"))
[此贴子已经被作者于2022/9/1 16:17:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xnsiwei
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/9/1 16:42:00 [只看该作者]

1、FileChanged事件处理

经测试,文件名列只得到了目录名

2、FileChanged事件处理
经测试,只增加了一行,各列均未赋值
[此贴子已经被作者于2022/9/1 16:45:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 17:05:00 [只看该作者]

那就合并文件名呀

Dim ifo As New FileInfo(e.FullPath & “\” & e.Name)
msgbox(ifo.Extension)

 回到顶部
总数 12 1 2 下一页