gpt4 book ai didi

c# - 无法连接到 FTP : (553) File name not allowed

转载 作者:可可西里 更新时间:2023-11-01 08:14:31 48 4
gpt4 key购买 nike

我需要通过 FTP 将文件传输到目录。在 .Net 中,我必须使用目标文件夹中的文件来创建连接,因此我使用 FTP 手动将 Blank.dat 放在服务器上。我检查了访问权限 (ls -l),它是 -rw-r--r--。但是当我尝试连接到 FTP 文件夹时,我得到:“远程服务器返回错误:(553) 文件名不允许”从服务器返回。我所做的研究表明,这可能是由权限问题引起的,但正如我所说,我有权查看该文件并且可以从该文件夹运行 ls。还有哪些其他原因可能会导致此问题?是否有一种无需指定文件即可连接到文件夹的方法?

            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();
}

最佳答案

虽然回复一个旧帖子只是觉得它可能对某人有帮助。

当您创建 ftp url 时,请确保您没有包括该登录的默认目录。

例如,这是我指定的路径,我收到异常 553 FileName not allowed 异常

ftp://myftpip/gold/central_p2/inbound/article_list/jobs/abc.txt

我使用的登录名有默认目录 gold/central_p2。所以提供的 url 变得无效,因为它试图在默认目录中找到整个路径。我相应地修改了我的 url 字符串,并且能够摆脱异常。

我修改后的 url 看起来像

ftp://myftpip/inbound/article_list/jobs/abc.txt

谢谢,

萨布

关于c# - 无法连接到 FTP : (553) File name not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418404/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com