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



我已经编写了从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();

URL中的双斜杠看起来很可疑。

例如:

"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:Tempaaaasa.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。通过链接关注。"示例"部分有许多有用的示例。

最新更新