以文本方式查看主题 - 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=180048) |
-- 作者:洮沙 -- 发布时间:2022/9/25 17:21:00 -- [求助]FTP 上传过程出现意外错误,上传失败(已解决) Dim ftp1 As New FtpClient ftp1.Host = "***" ftp1.Account = "***" ftp1.Password = "***" If ftp1.Connected = False Then\'如果FTP没有连接 If ftp1.Connect Then \'连接FTP If ftp1.Upload(Zipfl, "\\sn\\" & filesys.GetName(Zipfl), True) = True Then \'如果上传成功 这一句好像有问题,远程文件目录用:\\web\\sn\\测试也一样的问题 Messagebox.show("已上传FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK) Else Messagebox.show("上传失败!", "提示", MessageBoxButtons.OK) End If ’ftp1.OpenManager() \'如果连接成功,打开FTP客户端 如果改为手动选择上传可以执行 Else Messagebox.show("连接FTP失败,请手动上传!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If 老师有以上代码,始终显示上传不成功,麻烦指正一下,谢谢! [此贴子已经被作者于2022/9/26 11:25:12编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/9/25 20:55:00 -- If ftp1.Connect Then \'连接FTP msgbox(Zipfl) msgbox("\\sn\\" & filesys.GetName(Zipfl)) If ftp1.Upload(Zipfl, "\\sn\\" & filesys.GetName(Zipfl), True) = True Then
|
-- 作者:洮沙 -- 发布时间:2022/9/26 7:26:00 -- Dim zipfl As String = "E:\\开发的程序\\软件授权\\Reports\\6D4C31081DC5704F7A23BBA17AAA8701.zip" If FileSys.FileExists(Zipfl) Then \'再次检查备份文件是否存在 Messagebox.Show("zip文件创建成功,即将上传FTP服务器!", "提示") \'上传zip文件到FTP Dim ftp1 As New FtpClient ftp1.Host = "***" ftp1.Account = "***" ftp1.Password = "***" ftp1.RootDir = "\\web" If ftp1.Connected = False Then\'如果FTP没有连接 If ftp1.Connect Then \'连接FTP msgbox(Zipfl) msgbox("\\sn\\" & filesys.GetName(Zipfl)) If ftp1.Upload(Zipfl, "\\sn\\" & filesys.GetName(Zipfl), True) = True Then \'如果上传成功 Messagebox.show("已上传至FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK) Else Messagebox.show("上传至FTP服务器失败!", "提示", MessageBoxButtons.OK) End If Else Messagebox.show("连接FTP失败,请手动上传!", "提示", MessageBoxButtons.OK) End If End If Else Messagebox.Show("zip文件创建失败,请手动创建后再上传至FTP服务器!", "提示") End If 如果将打开FTP管理器代码加上并按照以下代码顺序: ftp1.OpenManager() \'如果连接成功,打开FTP客户端 If ftp1.Upload(Zipfl, "\\sn\\" & filesys.GetName(Zipfl), True) = True Then \'如果上传成功 Messagebox.show("已上传至FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK) Else Messagebox.show("上传至FTP服务器失败!", "提示", MessageBoxButtons.OK) End If 执行结果: 第1步、能打开FTP管理器,选择任意目录,无需其他操作,直接关闭FTP管理器; 第2步、提示"已上传至FTP服务器,请通知客户下载!"; 第3步、从FTP服务器查看,确实已经上传成功,如下图: 昨天反反复复测试了一下午,始终不得其解,麻烦老师帮忙看一下,谢谢! 再次测试: msgbox("1" & ftp1.CurrentDir) \'显示结果:1/ Dim dls As List(Of String) dls = ftp1.GetDirList("") For Each dl As String In dls Output.Show(dl) Next ’显示结果:Backup LOG WEB ftp1.ChangeDir("\\web\\sn") msgbox("2" & ftp1.CurrentDir) \'显示结果:2/ ftp1.OpenManager() \'如果连接成功,打开FTP客户端 msgbox("3" & ftp1.CurrentDir) \'显示结果:3/web/sn(所选文件夹名称) [此贴子已经被作者于2022/9/26 8:47:25编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/9/26 8:57:00 -- 去掉这2句: If ftp1.Connected = False Then\'如果FTP没有连接 If ftp1.Connect Then \'连接FTP 然后 If ftp1.Upload(Zipfl, "\\sn\\" & filesys.GetName(Zipfl), True) = True Then \'如果上传成功 改为下面试试 If ftp1.Upload(Zipfl, "\\WEB\\sn\\" & filesys.GetName(Zipfl), True) = True Then \'如果上传成功
|
-- 作者:洮沙 -- 发布时间:2022/9/26 9:09:00 -- 蓝老师,还是一样的错误,好像是目录不对。 [此贴子已经被作者于2022/9/26 9:10:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/9/26 9:18:00 -- 检查是不是设置了ftp权限:http://www.foxtable.com/webhelp/topics/3251.htm 或者有其它什么代码更改了ftp的操作路径
|
-- 作者:洮沙 -- 发布时间:2022/9/26 10:40:00 -- BeforeEnterFolder 代码如下: If e.FolderName = "/web/sn" Then MessageBox.Show("/web/sn属性:" & e.FTPName) End If 执行结果: 其他地方没有设置任何代码,只有此处用FTP,麻烦老师再想想办法,十分感谢! |
-- 作者:有点蓝 -- 发布时间:2022/9/26 10:42:00 -- 去掉BeforeEnterFolder 代码。如果不是使用IIS做ftp网站的,改为使用IIS做网站测试 |
-- 作者:洮沙 -- 发布时间:2022/9/26 10:47:00 -- 我的FTP是租用的虚拟主机自带的。 |
-- 作者:有点蓝 -- 发布时间:2022/9/26 10:51:00 -- 提供测试用户和密码,发给客服那边测试一下 |