Foxtable(狐表)用户栏目专家坐堂 → ftp上传失败


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

主题:ftp上传失败

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


加好友 发短信
等级:狐精 帖子:3021 积分:20248 威望:0 精华:0 注册:2016/3/28 16:57:00
ftp上传失败  发帖心情 Post By:2019/3/21 10:02:00 [只看该作者]

老师,这个代码有什么问题,一直上传不成功,提示:上传过程出现意外,上传不成功!但直接用内置管理器上传又没有问题。而且我把文件放到服务器,显示也正常。

e.cancel = True
Select  Case e.Col.Name
    Case  "身份证扫描件"
        Dim dlg As New openFileDialog '定义一个新的SaveFileDialog
        dlg.MultiSelect = True
        If dlg.showDialog = DialogResult.Ok Then '如果用户单击了确定按钮
            Dim ftp1 As new  ftpclient
            ftp1.host="120.0.**.**"
            ftp1.Account = "f*****"
            ftp1.password = "1*****"
            Dim r As Row = Tables("实名制管理").Current
            Dim ls = r.DataRow.Lines("身份证扫描件")
            For Each f As String In dlg.FileNames
                Dim file = "/项目名称/" & r("姓名") & "/" & filesys.GetName(f)
                If ftp1.DirExists("/项目名称/" & r("姓名")) = False Then
                    ftp1.MakeDir("/项目名称/" & r("姓名"))
                End If
                Dim Result As DialogResult
                If ftp1.FileExists(file) Then
                    Result = MessageBox.Show("文件已经存在,是否覆盖?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                End If
                If result = Nothing OrElse result = DialogResult.Yes Then
                    If  ftp1.Upload(f,file,True) = True Then
                        If ls.contains(file) = False Then
                            ls.add(file)
                        End If
                    Else
                        MessageBox.Show( f & "上传失败" ,"提示" ,MessageBoxButtons.OK,MessageBoxIcon.Question)
                    End If
                End If
            Next
            r.DataRow.lines("身份证扫描件") = ls
            ftp1.Close
        End If
End Select

[此贴子已经被作者于2019/3/21 10:05:16编辑过]

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 10:43:00 [只看该作者]

MakeDir后服务器是否有新增对应的文件夹?


If  ftp1.Upload(f,file,True) = True Then
msgbox(file) '能不能弹出
                        If ls.contains(file) = False Then
                            ls.add(file)
                        End If
                    Else


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


加好友 发短信
等级:狐精 帖子:3021 积分:20248 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/3/21 10:55:00 [只看该作者]

不能弹出,目录创建没成功

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


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

ftp的目录必须一级一级创建,现有父目录,才能创建子目录

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


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

有主目录,我另外表也这个方式,都是正确的。就这个ftp的不正确,创建目录权限全部都给了

 


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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 12:05:00 [只看该作者]

如果无法创建目录,目录结构肯定不正确

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


加好友 发短信
等级:狐精 帖子:3021 积分:20248 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/3/21 12:17:00 [只看该作者]

这是ftp主目录

图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
这是我直接用内置服务器创建的路径,而且子目录:平昌县/测试也是直接创建的

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

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 12:20:00 [只看该作者]

使用MakeDir只能一级一级的创建目录结构

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


加好友 发短信
等级:狐精 帖子:3021 积分:20248 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/3/21 12:25:00 [只看该作者]

知道问题在哪儿了,老师,我想先根据“项目名称”创建目录,在项目名称下根据“姓名”创建子目录,怎么写呢?

按照一级一级创建,这样写不对,大概就下面这个意思:

                Dim file = "/" & r("项目名称") & "/" & r("姓名") & "/" & filesys.GetName(f)
                If ftp1.DirExists("/" & r("项目名称") & "/" & r("姓名")) = False Then
                    ftp1.MakeDir("/" & r("项目名称") & "/" & r("姓名"))
                End If

[此贴子已经被作者于2019/3/21 12:26:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 13:39:00 [只看该作者]

If ftp1.DirExists("/" & r("项目名称")) = False Then
    if ftp1.MakeDir("/" & r("项目名称")) = false then msgbox(“创建失败”)
End If
If ftp1.DirExists("/" & r("项目名称") & "/" & r("姓名")) = False Then
    if ftp1.MakeDir("/" & r("项目名称") & "/" & r("姓名")) then msgbox(“创建失败”)
End If

 回到顶部