我已经编写了从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。通过链接关注。"示例"部分有许多有用的示例。