如何使用 Indy Delphi 组件设置 ftp.get 的下载位置

How to set download location for ftp.get with Indy Delphi component

我可以使用以下方法从我的 ftp 服务器成功下载文件:

ftp.get(chosenFile,chosenFile);

其中 chosenFile 只是一个包含文件名的字符串。

然而,这些被下载到我的 Delphi 项目的 Debug 文件夹中,所以...

1.) 如何指定文件应下载到的位置。 2.) 如何让TOpenDialog下载后自动打开到那个位置?

您可以在目标文件中指定完整路径,以指定确切位置。您可以指定与打开对话框的初始目录相同的路径。

您还可以使用 SetCurrentDir 程序设置工作目录。

或者,您可以使用 ftp.Get(chosenFile, Stream),其中 Stream 可以是任何 TStream 后代的实例,例如 TFileStream(打开以写入您想要的目标文件),甚至 TMemoryStream,如果您根本不需要将文件放在磁盘上。

事实上,接受目标文件名的 Get 重载将根据确切的参数创建一个 TIdFileStream,并调用另一个重载。

[已解决] 我解决了自己的问题,不敢相信这么简单: 1.Specify 文件应下载到的目录作为第二个参数:ftp.get(chosenFile,'C:\Temp\'+chosenFile); 2.Set TOpenDialog的初始目录如下: dlg.InitialDir := 'C:\Temp';