标题:关于myFll中的FTP下载问题?
只看楼主
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
结帖率:98.96%
已结贴  问题点数:10 回复次数:3 
关于myFll中的FTP下载问题?
我用下面的方法测试FTP下载,我发现个问题,就是我运行下面的程序1次成功后,我把FTP服务器中的文件删除掉,再次运行,竟然还能下载成功?我把FTP服务器重新关闭后再启动,也是能?但是,只要我把VFP退出了,再进VFP后再运行程序,就能提示找不到文件了。怪了,怎么会这样?
CLEAR
cFilePath=LEFT(SYS(16),RAT("\",SYS(16)))
cFileName=SYS(16)
SET DEFA TO (cFilePath)
Set Library To myFll
*方法1
hFtp=FtpConnect("192.168.1.212","ftp","123456",21)
If hFtp==""
    MessageBox("无法连接ftp服务器")
    Return
EndIf
If not FtpFOpen(hFtp,"ddd.jpg") &&打开文件

    MessageBox("无法打开指定文件!")
Else
    Try
        cStr=""
        Do while .t.
            cTmp=FtpFRead(hFtp,1024)  &&以1024为单位读取
            If cTmp ==""
            ?"Ok"
                Exit
            EndIf
            cStr = cStr + cTmp
        EndDo
        StrToFile(cStr,"ddd.jpg")
    Catch
        MessageBox("读取过程发生错误!")
    EndTry
    FtpFClose(hFtp)  &&关闭文件

EndIf
FtpDisconnect(hFtp)

*方法2
?FtpDownFile("192.168.1.212","ddd.jpg","ddd.jpg")

Set Library To
搜索更多相关主题的帖子: ftp服务器 
2016-03-23 10:39
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:4 
还有这种情况
2016-03-23 11:03
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
是阿,不知道不退出VFP,等N秒后,会不会正常。。
2016-03-23 12:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:6 
可能是调用 API FtpGetFile() 时产生的本地临时文件,一般在 Temporary Internet Files 目录中产生一个副本文件。
看看有无使用本地缓存相关的设置,或者自动清除这个副本文件也行。
2016-03-23 14:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462809-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090826 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved