Foxtable(狐表)用户栏目专家坐堂 → FTP自制窗口上传失败


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

主题:FTP自制窗口上传失败

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


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
FTP自制窗口上传失败  发帖心情 Post By:2017/3/7 10:03:00 [只看该作者]

请教老师以下代码,哪里有问题,上传失败,无法上传至服务器上的文件夹中,代码是写在按钮里面

Dim dlg As new OpenFileDialog
Dim piv As WinForm.FileManager = e.Form.Controls("FileManager1")
dlg.Filter= "图形文件|*.bmp;*.jpg;*.gif"
If dlg.ShowDialog = DialogResult.OK Then
    Dim xg As Integer = dlg.FileName.LastIndexOf("/")
    Dim fname As String = dlg.FileName.SubString(xg + 1)   
    piv.AddFile(dlg.FileName)

 

 Dim ftp As new FTPClient
    ftp.Host = "120.77.178.193"
    ftp.Account = "DETftp"
    ftp.Password = "Nc0000000000"

 

Dim fp As String = fname
    Dim sts As List(of String) = ftp.GetFileList(fp)   '获取当前目录的文件列表
    If sts.Count > 0 Then
        For Each st As String In sts
            If st = fname Then
                MessageBox.Show("服务器上存在同名文件!","提醒")
                Return   '这里是简化了操作,读者可以自己做是否覆盖的功能
            End If
        Next
    End If


    e.Form.text = "ftp管理器   文件上传中...."
    If ftp.Upload(dlg.FileName,fp & "/" & fname) = True Then  '若成功上传
        Functions.Execute("刷新ListView")
        e.Form.text = "ftp管理器"
        MessageBox.Show("上传成功!","提醒")
    Else
        MessageBox.Show("上传失败!","提醒")
        e.Form.text = "ftp管理器"
    End If
End If


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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/3/7 11:11:00 [只看该作者]

我觉得系统自带的挺好用的哈

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


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/3/7 11:21:00 [只看该作者]

系统自带是好用,但是,实际操作中,不想让上传人员看到其他已上传的文件和控制按钮权限

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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/3/7 11:28:00 [只看该作者]

我也没用系统自带的,我还在服务器上以行进行建立对应的文件夹,分类存放。 你的上传这个看不太懂。。。我说看我的方法,行里有一列是备注,类型扩展为文件,远程存放的,窗口的文件管理器绑定到这列,把系统的按钮都隐藏了,文件管理器的远程链接参数都设置好,然后上次按钮的的代码,给你参考下。。。反正我的是没问题


Dim dlg As new OpenFileDialog

If dlg.ShowDialog = DialogResult.OK Then

    

    Dim xg As Integer = dlg.FileName.LastIndexOf("\")'斜杠最后出现的位置

    Dim fname As String = dlg.FileName.SubString(xg + 1)   '获取所选文件名称  ABC.jpg

    Dim r As Row = Tables("公文下发").Current

    Dim s As Integer = Format(Date.now,"MdHmss")

    

    Dim ifo As new FileInfo(dlg.filename)

    If ifo.Length > 20480000 Then

        msgbox("只能上次20M以下的文件!")

        Return

    End If

    

    Dim ftp As new FTPClient

    ftp.host="**********"

    ftp.Port = **********

    ftp.account="*********"

    ftp.password="********"

    ftp.Connect

    If ftp.Connected = True Then

        msgbox("链接成功,准备上传,等待上传成功或者失败的提示!")

    End If

    

    If ftp.DirExists("\gwfj\" & Tables("公文下发").Current("公文名称")) = False Then

        ftp.MakeDir("\gwfj\" & Tables("公文下发").Current("公文名称"))

    End If

    

    Dim fp As String = "\gwfj\" & Tables("公文下发").Current("公文名称")

    e.Form.text = "文件上传中....请稍候........."

    If ftp.Upload(dlg.FileName,fp & "\" & s & fname) = True Then  '若成功上传

        e.Form.text = "基本资料"

        MessageBox.Show("上传成功!","提醒")

        If r.IsNull("上传文件") Then

            r("上传文件") = fp & "\" & s & fname

        Else

            r("上传文件") = r("上传文件") & vbcrlf & fp & "\" & s & fname

        End If

    End If

End If


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


加好友 发短信
等级:四尾狐 帖子:857 积分:6156 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2017/3/7 11:28:00 [只看该作者]

你最大的问题  感觉是没在行里记录下存储位置


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


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/3/7 11:40:00 [只看该作者]

谢谢楼上的,我学习学习


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/7 14:54:00 [只看该作者]

报什么错?你加入msgbox先定位哪句代码有问题。

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/3/7 16:22:00 [只看该作者]

弹出显示上传失败。如果用系统的FTP没有问题

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/7 18:26:00 [只看该作者]

上传失败。msgbox(fp & "/" & fname)

 

看弹出的路径是什么,看看你ftp里面,有没有对应的文件夹。


 回到顶部