我可以使用以下方法从ftp服务器成功下载文件:
ftp.get(chosenFile,chosenFile);
其中selectedFile只是带有文件名的字符串。
但是这些已下载到我的Delphi项目的Debug文件夹中,因此...
1。)如何指定文件下载位置。 2.)下载后如何使TOpenDialog自动打开到该位置?
答案 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';