以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ftp上传及如何回传信息到新增table表中指定字段  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160828)

--  作者:lisangyu
--  发布时间:2021/2/23 15:48:00
--  ftp上传及如何回传信息到新增table表中指定字段

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\\Desert.jpg") = True Then
   
Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
   
Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

蓝总:1、上面上传代码是指定的地址文件,能不能弹出本地自定义路径,可自行选择任意位置文件进行上传?

2、上传文件成功后,怎么把文件名、路径、后缀、大小等信息回传到新增表的字段里,以便能点击table表自动下载打开ftp中的文件?

图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/2/23 15:56:00
--  
指定文件:http://www.foxtable.com/webhelp/topics/0328.htm


--  作者:lisangyu
--  发布时间:2021/2/23 17:04:00
--  
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Output.Show(fl)
    Next
End If 
Dim ftp1 As New FtpClient
ftp1.Host="10.60.128.146"
ftp1.Account = "ftpuser"
ftp1.Password = "bnm,./123"
If ftp1.Upload(": & dlg.FileNames.Length & ","\\myftp") = True Then
    Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

这个路径不合法,应该怎么改

--  作者:有点蓝
--  发布时间:2021/2/23 17:18:00
--  
Dim ftp1 As New FtpClient
ftp1.Host="10.60.128.146"
ftp1.Account = "ftpuser"
ftp1.Password = "bnm,./123"

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    For Each fl As String In dlg.FileNames
If ftp1.Upload(fl,"\\myftp\\" & FileSys.GetName(fl)) = True Then
    Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
    Next
End If 



--  作者:lisangyu
--  发布时间:2021/2/24 11:43:00
--  
Select Case e.StripItem.Name
    Case "上传文件"
        Dim tr As WinForm.TreeView
        Dim nd As WinForm.TreeNode
        tr = e.Form.Controls("TreeView1")
        nd = tr.SelectedNode
        If nd IsNot Nothing Then
            If nd.Level = 0 Then
                MessageBox.Show("根目录不存放文件!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            Else
                If nd.Level = 1 And nd.text = User.Group Then
                    Dim ftp1 As New FtpClient
                    ftp1.Host="10.60.128.146"
                    ftp1.Account = "ftpuser"
                    ftp1.Password = "bnm,./123"
                    Dim dlg As New OpenFileDialog
                    dlg.MultiSelect = True
                    If dlg.ShowDialog = DialogResult.OK Then
                        For Each fl As String In dlg.FileNames
                            If ftp1.Upload(fl,"\\管理规定\\" & FileSys.GetName(fl)) = True Then
                                Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                                Dim dr As DataRow = DataTables("知识文档").AddNew
                                dr("一级目录") = nd.ParentNode.Text
                                dr("二级目录") = nd.Text
                                dr("路径") = "\\管理规定\\" & FileSys.GetName(fl)
                                dr("文件名") =  FileSys.GetName(fl)
                                dr("后缀") =  fl.SubString(fl.LastIndexOf(".") + 1)
                                \'dr("最后修改时间") = " # fl.LastWriteTime #"
                                \'dr("文件大小") = 
                            Else
                                Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                            End If
                        Next
                    End If
                End If

蓝总:我没办法了,文件上传ftp成功后,从ftp返回文件信息,路径和文件名及后缀都行了,但是“最后修改时间”和"文件大小"搞不定。


--  作者:有点蓝
--  发布时间:2021/2/24 11:48:00
--  

Dim ifo As new FileInfo("fl)

Output.Show("文件创建时间:" & ifo.CreationTime)

Output.Show("上次修改时间:" & ifo.LastWriteTime)

Output.Show("上次访问时间:" & ifo.LastAccessTime)

Output.Show("是否只读:" & ifo.ReadOnly)

Output.Show("是否隐藏:" & ifo.Hidden)

output.Show("文件路径:" & ifo.Path)

Output.Show("文件大小:" & ifo.Length)

Output.Show("文件名称:" & ifo.Name)

Output.Show("扩展名:" & ifo.Extension)


--  作者:lisangyu
--  发布时间:2021/2/24 17:40:00
--  
蓝总,上面fl多了“
--  作者:lisangyu
--  发布时间:2021/3/11 9:30:00
--  
 蓝总:

                                         Dim ifo As new FileInfo(fl)
                                        dr("一级目录") = nd.ParentNode.Text
                                        dr("二级目录") = nd.Text
                                        dr("路径") = "\\管理规定\\" & FileSys.GetName(fl)
                                        dr("文件名") =  FileSys.GetName(fl)
                                        dr("后缀") =  fl.SubString(fl.LastIndexOf(".") + 1)
                                        dr("最后修改时间") = ifo.LastWriteTime
                                        dr("文件大小") = ifo.Length   
  dr("文件大小") 上传文件后,返回的文件大小是B,怎么自动显示M?        本来是用列表达式可以实现,但是sql表无法提取表达式内容,所以只能返回来通过代码自动生成M为单位的数据                           

--  作者:有点蓝
--  发布时间:2021/3/11 9:37:00
--  
dr("文件大小") = ifo.Length  * 1024