繁体   English   中英

从FTP服务器下载文件:不支持给定路径的格式

[英]downloading file from FTP server: the given path's format is not supported

我已编写此代码从FTP服务器下载文件,但显示错误消息,不支持给定路径的格式。

 WebClient web = new WebClient();
 byte[] filedata = web.DownloadData("ftp://localhost/images/" 
                                    + "/" + "aaaasa.txt");
 FileStream file = File.Create("ftp://localhost/images/"+"/"+"aaaasa.txt");
 file.Write(filedata, 0, filedata.Length);
 file.Close();

网址中的双斜杠看起来可疑。

例如:

"ftp://localhost/images/"+"/"+"aaaasa.txt"

ftp://localhost/images//aaaasa.txt

这是你的意思吗?

File.Create也仅适用于本地文件。

除了其他人所说的关于FTP路径中的双斜杠(“ //”)之外,请注意,本地文件不能包含协议:

File.Create("ftp://localhost/images/"+"/"+"aaaasa.txt")

那不行 请提供本地文件名,如以下示例所示:

FileStream file = File.Create(@"C:\Temp\aaaasa.txt");
file.Write(filedata, 0, filedata.Length);
file.Close();

我认为,您遇到的问题是由于以下事实造成的:您给定的路径不正确,原因是您现在写的“ /”过多:

web.DownloadData("ftp://localhost/images/" + "/" + "aaaasa.txt")

结果为“ ftp://localhost/images//aaaasa.txt”

如果您要删除+“ /”,我认为您可能还可以。
对于file.create方法也是如此。

摆脱双斜杠。 而且,File类适用于本地文件系统,这似乎是您要向其中写入数据的对象。 为什么在该路径中有ftp://?

为此,您必须使用FtpWebRequest 通过链接。 “示例”部分提供了许多有用的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM