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

时间:2019-03-22 12:48:56

标签: delphi ftp indy indy10

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

ftp.get(chosenFile,chosenFile);

其中selectedFile只是带有文件名的字符串。

但是这些已下载到我的Delphi项目的Debug文件夹中,因此...

1。)如何指定文件下载位置。 2.)下载后如何使TOpenDialog自动打开到该位置?

2 个答案:

答案 0 :(得分:3)

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

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

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

事实上,接受目标文件名的Get重载只会根据确切的参数创建一个TIdFileStream,然后调用其他重载。

答案 1 :(得分:1)

[已解决]我解决了自己的问题,简直不敢相信: 1.指定将文件下载到的目录作为第二个参数:ftp.get(chosenFile,'C:\ Temp \'+ chosenFile); 2.按如下所示设置TOpenDialog的初始目录:dlg.InitialDir:='C:\ Temp';