以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Network.DownloadFile有无下载结果判断?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186331)

--  作者:WELOVEFOX
--  发布时间:2023/4/22 16:11:00
--  [求助]Network.DownloadFile有无下载结果判断?
原贴
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39419&authorid=0&page=0&star=2#editform

狐狸爸爸在12楼处的回复

你那个图片有问题,dpi是1,其他图片是96,一定要正常显示的话,这样改代码:

 

If e.Col.Name = "第二列" Then
    If e.Row.IsNull("第一列") = False Then
        If FileSys.FileExists(ProjectPath & e.Row("_Identify") & ".jpg") = False Then
            Network.DownloadFile(e.Row("第一列"), ProjectPath  & e.Row("_Identify") & ".jpg", "", "", False, 6000, True)

            \'发现如果HTTP网络服务器(第3方服务器,非自己的,所以无法判断文件是否存在)的文件不存在,即可能是已被删除,调用Network.DownloadFile 来下载时,就会出错,导致DrawCell无法执行,整个表显示出错。故在此处可有下载是否存在或下载成功与否的逻辑判断,以便跳过不存在的文件,继续执行,如不存在的话,就可以用如IF语句,让其显示为固定带_Identify的其它图片等?

        End If
        e.StartDraw
        Dim img As Image = GetImage(ProjectPath  & e.Row("_Identify") & ".jpg")
        e.Graphics.DrawImage(img, e.x, e.y,e.Width,e.Height)
        e.EndDraw
    End If
End If




[此贴子已经被作者于2023/4/22 16:12:06编辑过]

--  作者:有点蓝
--  发布时间:2023/4/22 17:06:00
--  

        If FileSys.FileExists(ProjectPath & e.Row("_Identify") & ".jpg") = False Then
            Network.DownloadFile(e.Row("第一列"), ProjectPath  & e.Row("_Identify") & ".jpg", "", "", False, 6000, True)

            If FileSys.FileExists(ProjectPath & e.Row("_Identify") & ".jpg") = False Then return ‘再判断一次文件是否存在

        End If