尝试将文件上传到Ftp但收到错误:“文件名不允许”!

时间:2013-06-12 13:18:38

标签: c# upload ftp webclient public-html

所以我试图将一个1kb的文本文件上传到我的ftp服务器,但出现了这个错误:

  

远程服务器返回错误:(553)不允许文件名。

所以我的代码出了什么问题?

WebClient upload = new WebClient();
upload.Credentials = new NetworkCredential("******", "*********");
upload.UploadFile("ftp://xxx.com/public_html", "G:/adress.txt");

2 个答案:

答案 0 :(得分:3)

很难说,因为它是服务器错误而不是代码错误。但是,正如当前所写,您尝试上传名为adress.txt的文件,以成为名为public_html的文件。我怀疑已经有一个具有该名称的目录,并且冲突阻止了上传。试试

upload.UploadFile("ftp://xxx.com/public_html/adress.txt", "G:/adress.txt");

代替。

答案 1 :(得分:0)

这可能不适用于您,但如果它是 Linux FTP服务器

  

这可能有助于Linux FTP服务器。

     

因此,与IIS不同的Linux FTP服务器没有通用的FTP根目录。   相反,当您使用某些用户的凭据登录到FTP服务器时,   使用此用户的根目录。所以FTP目录层次结构启动   来自/ root /用户和/ home /用户名。

     

因此,如果您需要查询与用户帐户主页无关的文件   目录,但相对于文件系统root,添加额外/后   服务器名称。生成的URL将如下所示:

     

ftp://servername.net//var/lalala

而不是:

ftp://xxx.com/public_html

除了完整的文件名之外,您还需要在服务器名称后面加第二个斜杠:

ftp://xxx.com//public_html/adress.txt

我遇到了同样的问题,并为我解决了这个问题。

来源: Can't connect to FTP: (553) File name not allowed