Foxtable(狐表)用户栏目专家坐堂 → [求助]上传FTP文件时如何自动更改名称


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

主题:[求助]上传FTP文件时如何自动更改名称

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


加好友 发短信
等级:幼狐 帖子:143 积分:1522 威望:0 精华:0 注册:2019/7/19 15:14:00
[求助]上传FTP文件时如何自动更改名称  发帖心情 Post By:2021/11/19 17:34:00 [只看该作者]

求助:上传FTP文件时如何自动更改名称

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


加好友 发短信
等级:超级版主 帖子:77905 积分:395271 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/19 17:39:00 [只看该作者]

自己使用代码上传,可以指定任何名称:http://www.foxtable.com/webhelp/topics/1410.htm

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


加好友 发短信
等级:幼狐 帖子:143 积分:1522 威望:0 精华:0 注册:2019/7/19 15:14:00
  发帖心情 Post By:2021/11/19 20:40:00 [只看该作者]

好的,谢谢

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


加好友 发短信
等级:幼狐 帖子:143 积分:1522 威望:0 精华:0 注册:2019/7/19 15:14:00
  发帖心情 Post By:2021/11/25 9:14:00 [只看该作者]

蓝老师,我想在上传文件前自动改名字,但只写出了上传后改名字,不知道怎么写上传前改名字,求指导;
代码是写在了表事件DataColChanging里
    Case "附件"
        If e.NewValue IsNot Nothing Then
            Dim tx As String = e.NewValue
            Dim tx1 As String '赋值斜杠前的字符
            Dim tx2 As String '赋值文件后缀名
            Dim xm As String '赋值文件新名称
            Dim rq As Date '赋值单据日期
            Dim ftp As new FTPClient
            ftp = e.DataCol.FTPClient
            If ftp.FileExists(e.NewValue) = True Then '如果文件已存在(已上传)
                Dim a As DataRow = DataTables("物流发货记录").Find("_identify = " & e.DataRow("sys_物流内码") & "") ‘查找客户简称
                If a IsNot Nothing Then
                    If Tables("物流发货记录_Table3").Rows.Count > 0 Then
                        rq = Tables("物流发货记录_Table3").Rows(0)("单据日期") ‘查找单据日期
                    End If
                    tx1 = tx.SubString(0,tx.LastIndexOf("/") + 1)
                    tx2 = tx.SubString(tx.LastIndexOf("."))
                    If e.DataRow.IsNull("单据号码") = False '如果不为空
                        xm = tx1 & a("单位简称") & "_" & e.DataRow("单据号码") & "_" & rq & tx2 ‘单据号码命名
                    Else
                        xm = tx1 & a("单位简称") & "_" & e.DataRow("fa piao号码") & tx2 ‘fa piao号码命名
                    End If
                    'MessageBox.Show("改名:" & xm)
                    If  ftp.Rename(e.NewValue,xm) = True Then '如果改名成功
                        e.NewValue = xm
                    Else
                        MessageBox.Show(e.DataRow("单据号码") & e.DataRow("fa piao号码") & " 变更附件名称失败!")
                    End If
                Else
                    MessageBox.Show("未找到公司简称!")
                End If
            End If
        Else
            '删除附件
            Dim ftp As new FTPClient
            ftp = e.DataCol.FTPClient
            If ftp.FileExists(e.DataRow(e.DataCol.Name)) = True Then '如果文件存在
                If ftp.DeleteFile(e.DataRow(e.DataCol.Name)) = False '删除文件
                    MessageBox.Show(e.DataTable.Name & " 表 " & e.DataRow("单据号码") & e.DataRow("fa piao号码") & "附件文件删除失败!")
                End If
            End If
        End If

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


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

不能使用文件管理器自己的上传按钮,要自己写代码上传:

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If 
ftp1.Upload("c:\data\Desert.jpg","\update\新的文件名称.jpg") = True Then
    
Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:幼狐 帖子:143 积分:1522 威望:0 精华:0 注册:2019/7/19 15:14:00
  发帖心情 Post By:2021/11/25 17:17:00 [只看该作者]

哦,就是要自己做一个上传的功能,不能用狐表自带的,明白了,谢谢;

 回到顶部