首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法连接到FTP:(553)不允许使用文件名

无法连接到FTP:(553)不允许使用文件名
EN

Stack Overflow用户
提问于 2012-02-24 01:50:40
回答 12查看 41.4K关注 0票数 14

我需要将一个文件通过FTP传输到一个目录。在FTP中,我必须使用目标文件夹中的文件来创建连接,所以我使用.Net手动将Blank.dat放在服务器上。我检查了访问权限(ls -l),结果是-rw-r--r--。但是当我尝试连接到FTP文件夹时,我从服务器得到了:"The remote server returned an error:(553) File name not allowed“。我所做的研究表明,这可能是由于权限问题引起的,但正如我所说的,我有查看文件的权限,并且可以从文件夹运行ls。还有什么其他原因会导致这个问题,有没有一种方法可以连接到文件夹而不必指定文件?

代码语言:javascript
运行
复制
            byte[] buffer;
            Stream reqStream;
            FileStream stream;
            FtpWebResponse response;
            FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(string.Format("ftp://{0}/{1}", SRV, DIR)));
            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential(UID, PASS);
            request.UseBinary = true;
            request.Timeout = 60000 * 2;
            for (int fl = 0; fl < files.Length; fl++)
            {
                request.KeepAlive = (files.Length != fl);
                stream = File.OpenRead(Path.Combine(dir, files[fl]));
                reqStream = request.GetRequestStream();
                buffer = new byte[4096 * 2];
                int nRead = 0;
                while ((nRead = stream.Read(buffer, 0, buffer.Length)) != 0)
                {
                    reqStream.Write(buffer, 0, nRead);
                }
                stream.Close();
                reqStream.Close();

                response = (FtpWebResponse)request.GetResponse();
                response.Close();
            }
EN

Stack Overflow用户

发布于 2021-06-21 22:43:44

与之相关的人。

我被这个问题困扰了很长一段时间。我尝试将一个文件上传到我的web服务器上,如下所示:

  • 说我的域名是www.mydomain.com.
  • I想要上传到一个子域,这个子域是

,所以我使用:

FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create($@"ftp://order.mydomain.com//uploads/{FileName}");

在多次尝试并得到这个553错误后,我发现我必须使请求指向主域而不是子域,并将子域作为子文件夹(这通常是在创建

  • 时创建的)我已经在public_html (根目录)之外创建了我的子域子文件夹,所以我将FTP请求更改为:

FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create($@"ftp://www.mydomain.com//order.mydomain.com//uploads/{FileName}");

它终于成功了。

票数 0
EN
查看全部 12 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9418404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档