这曾经很管用。现在我收到了这个错误
无法检查文件是否存在
多年来,这种做法一直奏效。在大约一年半的时间里,没有运行过这个项目。现在,它不起作用了。
我在我拥有的Indy文档中找不到此错误。
root:='/public_html';
ftp.Host:=trim(labelededit1.Text);
ftp.Username:=trim(labelededit2.Text);
ftp.Password:=trim(labelededit3.Text);
ftp.TransferType:=ftbinary;
ftp.Connect;
ftp.Passive:= true;
ftp.TransferType:=ftbinary;
p:=root+'/text';
ftp.ChangeDir(p);
ftp.Get(p+'/dept.txt','c:\temp\dept.txt',true,false); // file retrieved
ftp.ChangeDir(root); // no error
a:=tstringlist.Create;
ftp.List(a,'playlist*.src',false); // throws the error Can't check for file existence
CWD /public_html/text
250 OK. Current directory is /public_html/text
PRET RETR /public_html/text/dept.txt
200 Ready to proceed
PASV
227 Entering Passive Mode
RETR /public_html/text/dept.txt
150 Accepted data connection
226-File successfully transferred
226 0.000 seconds (measured here), 2.25 Mbytes per second
CWD /public_html
250 OK. Current directory is /public_html
TYPE I
200 TYPE is now 8-bit binary
PRET NLST playlist*.src
200 Ready to proceed
PASV
227 Entering Passive Mode
NLST playlist*.src
550 Can't check for file existence
1条答案
按热度按时间x8goxv8g1#
您发布的日志确认错误来自服务器。很可能是服务器改变了行为。
您可能需要更改代码以列出整个目录并过滤掉您想要的文件(
playlist*.src
)。在您的代码中。