以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  FTP动态路径  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98171)

--  作者:zoyong
--  发布时间:2017/3/25 11:49:00
--  FTP动态路径
帮忙修改指定路径    

项目资料表里面有年份和项目名称

Dim Table As String =e.Form.TableName
Dim hangshu As Integer= Tables(Table).Rows.Count-1
If hangshu <0 Then
    Return
End If

Dim dlg As new  OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim xg As Integer = dlg.FileName.LastIndexOf(".")
    Dim hz As String = dlg.FileName.SubString(xg)
    Dim ftp As new FTPClient
    ftp.Host="192.168.1.18"
    ftp.Port = 21
    ftp.Account = "cgjftp"
    ftp.Password = "Xj671766"
    
    ftp.ChangeDir("\\工程管理")    \'进入UpLoadFile
    Dim fp As String = "\\工程管理"
    Dim ftpName As String = fp & "\\" & Format(Date.Now, "yyyyMMddHHmmss") & user.Name & hz
    If ftp.Upload(dlg.FileName,ftpname) = True Then
        Dim sz As Date = ftp.GetFileTime(ftpName)
        ftp.Rename(ftpName, fp & "\\" & Format(sz, "yyyyMMddHHmmss") & user.Name & hz)
        Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

路径格式:
根目录 /年份目录 /项目名称

/工程管理/2014/项目名称  
/工程管理/2015/项目名称
/工程管理/2016/项目名称
/工程管理/2017/项目名称                   

动态获取年份和项目名称


[此贴子已经被作者于2017/3/25 13:27:48编辑过]

--  作者:有点蓝
--  发布时间:2017/3/25 12:10:00
--  
你要先创建指定年份和项目名称的目录,然后才能使用这个目录

项目名称从哪里来?

--  作者:zoyong
--  发布时间:2017/3/25 12:31:00
--  
项目资料里面有年份和项目名称
--  作者:有点蓝
--  发布时间:2017/3/25 14:11:00
--  
创建目录:http://www.foxtable.com/webhelp/scr/1410.htm

合成字符串类似

Dim ftpName As String = fp & "\\" & Tables("项目资料表").Current("年份") & "\\" & Tables("项目资料表").Current("项目名称") & user.Name & hz

--  作者:zoyong
--  发布时间:2017/3/25 15:01:00
--  
帅哥,在线噢!
有点蓝老师 上传 错误

--  作者:有点蓝
--  发布时间:2017/3/25 15:33:00
--  
服务器有没有创建了指定的目录?

msgbox(ftpName ),自己弹出来看看路径对不对

--  作者:zoyong
--  发布时间:2017/3/25 16:09:00
--  
路径没问题    FTP中有指定的文件名      /工程管理/2016/***项目名称

  ftp.ChangeDir("\\工程管理")    \'进入UpLoadFile
    Dim fp As String = "\\工程管理"
    Dim ftpName As String = fp & "\\" & Format(Date.Now, "yyyyMMddHHmmss") & user.Name & hz
    If ftp.Upload(dlg.FileName,ftpname) = True Then
        Dim sz As Date = ftp.GetFileTime(ftpName)
        ftp.Rename(ftpName, fp & "\\" & Format(sz, "yyyyMMddHHmmss") & user.Name & hz)


这个代码还有问题


换成这个代码就可以,但是文件存在根目录下面
  ftp.ChangeDir("\\工程管理")    \'进入UpLoadFile
    Dim fp As String = "\\工程管理"
Dim ftpName As String = fp & "\\" & Format(Date.Now, "yyyyMMddHHmmss") & user.Name & hz
 If ftp.Upload(dlg.FileName,ftpname) = True Then
        Dim sz As Date = ftp.GetFileTime(ftpName)
        ftp.Rename(ftpName, fp & "\\" & Format(sz, "yyyyMMddHHmmss") & user.Name & hz)

--  作者:有点蓝
--  发布时间:2017/3/25 16:11:00
--  
参考4楼的方式合成路径,

msgbox(ftpName )自己弹出看看

--  作者:zoyong
--  发布时间:2017/3/25 16:18:00
--  
蓝老师    是年份取值问题

只要年   不要月      
取值2016



图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170325161602.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2017/3/25 16:19:31编辑过]

--  作者:有点蓝
--  发布时间:2017/3/25 16:40:00
--  
http://www.foxtable.com/webhelp/scr/0362.htm