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

如何使用Indy Delphi组件设置ftp.get的下载位置,delphi,ftp,indy,indy10,Delphi,Ftp,Indy,Indy10,我可以使用以下方法从ftp服务器成功下载文件: get(chosenFile,chosenFile) 其中chosenFile只是一个带有文件名的字符串 但是,这些都下载到我的Delphi项目的调试文件夹中,所以 1.)如何指定文件应下载到的位置。 2.)下载后如何使TOpenDialog自动打开到该位置?您可以在目标文件中指定完整路径,以指定确切位置。您可以指定与“打开”对话框的初始目录相同的路径 您还可以使用SetCurrentDir过程设置工作目录 或者,您可以使用ftp.Get(chos

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

get(chosenFile,chosenFile)

其中chosenFile只是一个带有文件名的字符串

但是,这些都下载到我的Delphi项目的调试文件夹中,所以

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

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

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

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


事实上,接受目标文件名的Get重载只会创建一个TIdFileStream,具体取决于具体参数,并调用另一个重载。

[SOLVED]我解决了自己的问题,真不敢相信它这么简单: 1.指定文件应下载到的控制器作为第二个参数:ftp.get(chosenFile,'C:\Temp\'+chosenFile);
2.设置TopEndDialog的初始目录如下:dlg.InitialDir:=“C:\Temp”

[已解决]我解决了自己的问题,难以置信它这么简单:1.指定文件应下载到的控制器作为第二个参数:ftp.get(chosenFile,'C:\Temp\'+chosenFile);2.设置TopEndDialog的初始目录如下:dlg.InitialDir:=“C:\Temp”;1.指定本地文件的路径和文件名。2.设置OpenDialog.FileName和OpenDialog.InitialDir。