我已将此代码编写为从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();
答案 0 :(得分:4)
您网址中的双斜线看起来很可疑。
e.g:
"ftp://localhost/images/"+"/"+"aaaasa.txt"
给出
ftp://localhost/images//aaaasa.txt
是你的意思吗?
此外File.Create
仅适用于本地文件。
答案 1 :(得分:0)
除了其他人所说的关于FTP路径中的双斜杠(“//”)之外,请注意本地文件不能包含协议:
File.Create("ftp://localhost/images/"+"/"+"aaaasa.txt")
这不起作用。请提供本地文件名,如以下示例所示:
FileStream file = File.Create(@"C:\Temp\aaaasa.txt");
file.Write(filedata, 0, filedata.Length);
file.Close();
答案 2 :(得分:0)
我认为,您遇到的问题是由于您提供的路径因“/”过多而导致错误 你现在写的是什么:
web.DownloadData("ftp://localhost/images/" + "/" + "aaaasa.txt")
导致“ftp://localhost/images//aaaasa.txt”
如果你要删除+“/”我认为你可能会没事。
这也适用于file.create方法。
答案 3 :(得分:0)
摆脱双斜线。此外,File类适用于本地文件系统,它出现的是您尝试将数据写入的文件系统。你为什么在那条路上有ftp://?
答案 4 :(得分:0)
为此必须使用FtpWebRequest。点击链接。 “示例”部分中有许多有用的示例。