- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目录中有几个 xml 文件,但我只能逐个文件发送。我想发送该目录中的所有文件。我怎样才能做到这一点?
idftp1.Put('C:\MyDir\*.xml','/xml/*.xml');
最佳答案
Indy 目前还没有实现任何类型的多重 put 方法(FTP 协议(protocol)本身没有这样的功能)。您必须列出给定目录中的所有文件并调用 Put分别为每个文件。例如:
procedure GetFileList(const Folder, Filter: string; FileList: TStrings);
var
Search: TSearchRec;
begin
if FindFirst(Folder + Filter, faAnyfile, Search) = 0 then
try
FileList.BeginUpdate;
try
repeat
if (Search.Attr and faDirectory <> faDirectory) then
FileList.Add(Search.Name);
until
FindNext(Search) <> 0;
finally
FileList.EndUpdate;
end;
finally
FindClose(Search);
end;
end;
procedure MultiStor(FTP: TIdFTP; const Folder: string; const Filter: string = '*.*');
var
I: Integer;
FileList: TStrings;
begin
FileList := TStringList.Create;
try
GetFileList(Folder, Filter, FileList);
for I := 0 to FileList.Count-1 do
FTP.Put(Folder + FileList[I]);
finally
FileList.Free;
end;
end;
或类似的最新 Delphi 版本:
procedure MultiStor(FTP: TIdFTP; const Folder: string; const Filter: string = '*.*');
var
FileName: string;
begin
for FileName in TDirectory.GetFiles(Folder, Filter) do
FTP.Put(Folder + FileName);
end;
及其调用:
MultiStor(IdFTP1, 'C:\MyFolder\', '*.xml');
关于Delphi 和 IdFtp - 如何将所有文件上传到目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486957/
我需要解析目录中的每个文件,包括子目录和子子目录中的文件以及... 我已经使用下面的代码成功完成了此操作: class function TATDFTPUtility.findAllDirectory
我的目录中有几个 xml 文件,但我只能逐个文件发送。我想发送该目录中的所有文件。我怎样才能做到这一点? idftp1.Put('C:\MyDir\*.xml','/xml/*.xml'); 最佳答案
与 IdFTP ,我连接的服务器不是使用UTF-8,而是ANSI。我的代码没有什么特别之处,我只是设置了Host , Username , Password并连接到服务器。然后我调用List没有参数的
当我调用该函数时 IdFtp.List(myList, '', false); 之后我登录并更改了 ftp 目录,偶尔会收到套接字错误 #10054 异常(“连接被对等方重置。”)。 当我调用该函数时
我正在使用 Indy IDFTP 来创建目录。我需要找到一种可靠的方法来确定目录是否存在,如果不存在,则调用 MakeDir。我尝试了以下代码,但是调用 List 时没有发生异常,因此即使当时目录不存
使用 Delphi 2010 和 Indy 10.5.8.0。 针对服务器 Titan FTP,连接时我总是收到异常“时间编码参数无效”(EConvertError)。 服务器日志告诉我: FEAT
我正在使用 Indy 10.6.2 以及 Delphi 7 和 Windows 10 64 位波兰语。 我运行一个 FTP 服务器:FTPServer: TIdFTPServer,通过使用 FTPCl
我是一名优秀的程序员,十分优秀!