以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于FTP上传同名文件覆盖的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179552) |
||||||||||
-- 作者:syst -- 发布时间:2022/8/29 17:15:00 -- 关于FTP上传同名文件覆盖的问题 老师您好, 遇到一个问题,利用ftp服务器管理远程文件,当上传一个同名文件的时候,提示可以覆盖前面的文件,导致原来上传的文件内容丢失;不利于管理。有什么办法解决这个问题么?谢谢!
|
||||||||||
-- 作者:有点蓝 -- 发布时间:2022/8/29 17:19:00 -- 上传前,先判断同目录下有没有同名文件,如果有就提示改名,否则再上传 Dim ftp1 As New FtpClient
ftp1.Host="196.128.143.28" ftp1.Account = "foxuser" ftp1.Password = "138238110" If ftp1.FileExists("\\photo\\jz.png") Then \'如果存在则下载 messagebox.Show("此文件已存在,请改名后重新上传!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Else ftp1.Upload("c:\\data\\jz.jpg","\\photo\\jz.png") End If |
||||||||||
-- 作者:syst -- 发布时间:2022/8/29 17:40:00 -- 谢谢老师, 用的是自带的ftp客户端,点“增加”按钮,然后点击“上传文件”,平时是这样上传的。 是要在网络监视器里面写这段代码么?怎么判断用户选择了什么文件名呢?刚刚开始学习,不太懂 谢谢哦。
|
||||||||||
-- 作者:有点蓝 -- 发布时间:2022/8/29 20:44:00 -- 如果是高级开发版,可以到网络监视器这个事件写代码判断:http://www.foxtable.com/webhelp/topics/3258.htm,使用ftp1.FileExists判断文件是否存在 如果不是高级开发版,只能设计窗口,添加按钮自己写上传文件,不能使用自带的ftp客户端的增加按钮上传了
|
||||||||||
-- 作者:syst -- 发布时间:2022/8/29 23:03:00 -- 谢谢老师,是高级开发版; 有个疑问: FileExists()语法是判断固定的文件名是否在同目录下存在。可是每次上传的文件名都不同,该如何写这个代码呢? 谢谢哦;
|
||||||||||
-- 作者:有点蓝 -- 发布时间:2022/8/30 8:27:00 -- BeforeUpload 在上传文件之前执行,通过此事件可以完全禁止用户上传文件,或允许用户只能上传特定类型的文件,或只能将文件上传到指定的目录。 e属性属性:
|
||||||||||
-- 作者:syst -- 发布时间:2022/8/30 9:11:00 -- 是类似这样写么老师: Dim ftp1 As New FtpClientftp1.Host=""196.128.143.28"" ftp1.Account = "foxuser" ftp1.Password = "138238110" If ftp1.FileExists(e.localfile) Then \'如果存在同名文件 messagebox.Show("此文件已存在,请改名后重新上传!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancelall= True End If 测试了,这样也不行,还是提示是否覆盖原文件;因为localfile是带路径的,所以不懂如何去写;麻烦老师帮忙写一下哦。谢谢哈!
|
||||||||||
-- 作者:有点蓝 -- 发布时间:2022/8/30 9:30:00 -- If ftp1.FileExists(e.CurFolder & "/" & filesys.getname(e.localfile)) Then
|
||||||||||
-- 作者:syst -- 发布时间:2022/8/30 9:44:00 -- 可以了,谢谢蓝老师^_^ |