以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 二进制多文件管理中本地缓存对Excel文件失效 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82436) |
-- 作者:倪惠明 -- 发布时间:2016/3/17 17:23:00 -- 二进制多文件管理中本地缓存对Excel文件失效 我的打开文件的代码是按实例修改得到的;除了Excel文件外,其他文件均正常,对Excel文件无论本地是否存在都会重新下载,不知是何原因? 代码如下: If Tables("工程预算.送审预算").Current Is Nothing Then Return End If Dim dr As DataRow = Tables("工程预算.送审预算").Current.DataRow Dim fl As String = ProjectPath & "\\temp\\" & dr("文件名") If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then \'如果本地存在同名文件且CRC校验值相同 \'则直接使用本地文件 Else \'否则从数据库提取文件 MessageBox.Show("1") If dr.SQLLoadFile("文件",fl) = False Then \'如果提取文件失败 \' Messagebox.Show("预算文件提取失败,可能并不存在预算文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) Return End If End If Dim Proc As New Process \'打开文件 Proc.File = fl Proc.Start() |
-- 作者:大红袍 -- 发布时间:2016/3/17 18:33:00 -- 如果excel里面有公式,打开xls以后, CRCCheckFile 的值就是有变化的了。
所以判断,必须用最后修改时间来判断
http://www.foxtable.com/help/topics/2707.htm
|
-- 作者:倪惠明 -- 发布时间:2016/3/18 8:49:00 -- 其他类型的文件是否都用最后修改时间来判断更好呢? |
-- 作者:狐狸爸爸 -- 发布时间:2016/3/18 9:12:00 -- crccheckfile最可靠,没办法才使用最后修改时间。
当然最后修改时间绝大多数时候,也是非常可靠的,除非有人故意搞事。 |
-- 作者:倪惠明 -- 发布时间:2016/3/18 9:17:00 -- 那只能先判断文件的扩展名再做选择 |