Foxtable(狐表)用户栏目专家坐堂 → 判断文件是否可用


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

主题:判断文件是否可用

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
判断文件是否可用  发帖心情 Post By:2022/11/11 15:28:00 [只看该作者]

                老师,我用以下方式把图片缩小另存为时,有极少情况下Dim img As image = getImage(str)在这一句时会报错,原因是str文件虽然后缀是图片格式,但实际是错误文件,打不开的,我要如何判断此文件是正常可用的图片文件呢?
If FileSys.FileExists(str) Then
                    Dim img As image = getImage(str)
                    Dim bmp As new bitmap(img, 30,40)
                    bmp.save(str1)
                    bmp.Dispose
                    If FileSys.FileExists(str1) Then
                        e.Graphics.DrawImage(getImage(str1),e.x +1,e.y+1,e.Width - 2,e.Height - 2)
                        e.Text = ""
                    Else
                        e.Text = "待下载"
                    End If
                End If

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


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

If FileSys.FileExists(str) Then
    Dim img As image = getImage(str)
    If img IsNot Nothing Then
        Dim bmp As New bitmap(img, 30, 40)
        bmp.save(str1)
        bmp.Dispose
        If FileSys.FileExists(str1) Then
            e.Graphics.DrawImage(getImage(str1), e.x + 1, e.y + 1, e.Width - 2, e.Height - 2)
            e.Text = ""
        Else
            e.Text = "待下载"
        End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
  发帖心情 Post By:2022/11/11 15:52:00 [只看该作者]

图片点击可在新窗口打开查看还是不行,那就是在保存的时候出错了

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


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

贴出完整代码

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
  发帖心情 Post By:2022/11/11 16:18:00 [只看该作者]

If e.Col.Name = "图片" Then
    If xiantu = True Then
        If e.Row.IsNull(e.Col.Name) = False Then
            Dim cs As new List(of String)
            cs = e.Row.DataRow.Lines(e.Col.Name)
            Dim js As String() = cs.ToArray()
                    e.StartDraw
                    Dim str As String = "\\10.100.100.229\foxtable资料\图片\" & js(0).trim("\")
                    Dim str1 As String = str.Insert(str.LastIndexOf("."), "--")
                    If FileSys.FileExists(str1) Then
                        e.Graphics.DrawImage(getImage(str1),e.x +1,e.y+1,e.Width - 2,e.Height - 2)
                        e.Text = ""
                    ElseIf FileSys.FileExists(str) Then
                        Dim img As image = getImage(str)
                        Dim bmp As New bitmap(img, 30, 40)
                        bmp.save(str1)
                        bmp.Dispose
                        If FileSys.FileExists(str1) Then
                            e.Graphics.DrawImage(getImage(str1),e.x +1,e.y+1,e.Width - 2,e.Height - 2)
                            e.Text = ""
                        Else
                            e.Text = "待下载"
                        End If
                    End If
                    e.EndDraw
    Else
        e.Text = e.Row("汇总")
    End If
End If
附件是错误文件

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


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

代码有好几个getImage,全部都要判断

 回到顶部