Foxtable(狐表)用户栏目专家坐堂 → 文件压缩求助


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

主题:文件压缩求助

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
文件压缩求助  发帖心情 Post By:2022/3/7 22:16:00 [显示全部帖子]

 Dim e As RequestEventArgs = args(0)
For Each dr As DataRow In DataTables("图库_木作定制").DataRows
    Dim file As String = dr("原始_文件地址")
    Dim img As image = getImage(file)
    Dim bmp As bitmap
    If img.width > 400 Then
        If 400 * (img.height / img.width) > 600 Then
            bmp = new bitmap(img, 400*(600/(800*(img.height/img.width))), 600)
        Else
            bmp = new bitmap(img, 400, 400 * (img.height / img.width))
        End If
    End If
    bmp.save("D:\data\slt\" & dr("原始_文件夹") & "\" & FileSys.GetName(e.FileName))
这个就是存到新的目录下,代码报错,求助老师
Next

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2022/3/8 12:58:00 [显示全部帖子]

按要求是要全部把缩略图保存到指定的 "D:\data\slt\" & dr("原始_文件夹") 内
现在会保存指定的文件夹到外面,代码如下,老师看看哪里有问题
图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20220308124840.png
图片点击可在新窗口打开查看



 If e.DataCol.Name = "原始_文件地址" Then '如果是已结帐列的内容变动
    For Each dr As DataRow In DataTables("图库_木作定制").DataRows
        Dim file As String = dr("原始_文件地址")
        Dim file1 As String = "D:\data\slt\" & dr("原始_文件夹")
        Dim img As image = getImage(file)
        Dim bmp As bitmap
        If img.width > 400 Then
            If 400 * (img.height / img.width) > 600 Then
                bmp = new bitmap(img, 400*(600/(800*(img.height/img.width))), 600)
            Else
                bmp = new bitmap(img, 400, 400 * (img.height / img.width))
            End If
        End If
        If FileSys.DirectoryExists(file1) = False Then
            FileSys.CreateDirectory(file1)
        End If
        bmp.save(file1 & "\" & dr("原始_文件名"))
        bmp.Dispose
       
    Next
End If

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2022/3/8 18:11:00 [显示全部帖子]

很奇怪,只有三行数据
图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20220308181014.png
图片点击可在新窗口打开查看
,显示却有4行

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2022/3/8 23:00:00 [显示全部帖子]

 检索后只有3行是有效的数据,其他是其他文件夹得了

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2022/3/13 23:39:00 [显示全部帖子]

If img.width > 400 Then
        If 400 * (img.height / img.width) > 600 Then
            bmp = new bitmap(img, 400*(600/(800*(img.height/img.width))), 600)
        Else
            bmp = new bitmap(img, 400, 400 * (img.height / img.width))
        End If
    End If

主要是这段代码报错。

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2022/3/15 10:30:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.34003
Foxtable 版本:2021.5.29.1
错误所在事件:表,图库_木作定制,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

DataColChanged 代码

If e.DataCol.Name = "原始_文件地址" Then '如果是已结帐列的内容变动
    For Each dr As DataRow In DataTables("图库_木作定制").DataRows
        Dim file As String = dr("原始_文件地址")
        Dim img As image = getImage(file)
        Dim bmp As bitmap
        If img.width > 800 Then
            If 800 * (img.height / img.width) > 600 Then
                bmp = new bitmap(img, 800*(600/(800*(img.height/img.width))), 600)
            Else
                bmp = new bitmap(img, 800, 800 * (img.height / img.width))
            End If
        End If
        If FileSys.DirectoryExists("D:\data\slt\" & dr("原始_文件夹")) = False Then
            FileSys.CreateDirectory("D:\data\slt\" & dr("原始_文件夹"))
        End If
        bmp.save("D:\data\slt\" & dr("原始_文件夹") & "\"& dr("原始_文件名"))
        bmp.Dispose
    Next
End If

 回到顶部