检查 FTPS 上是不是存在文件,错误 550

Posted

技术标签:

【中文标题】检查 FTPS 上是不是存在文件,错误 550【英文标题】:Check if file exists on FTPS, Error 550检查 FTPS 上是否存在文件,错误 550 【发布时间】:2013-10-24 12:54:39 【问题描述】:

我试图检查我的 FTP 服务器上是否存在文件,但我收到错误“远程服务器返回错误:(550) 文件不可用”,而我的文件已经存在我确定这不是我的许可或错误的 ip或错误的用户,因为我可以使用 FileZilla 通过 FTPUser20 编辑我的文件,然后我复制 textBox4("textBox4.Text = (uploadto);") 并粘贴到我可以访问的浏览器中。 这是我的代码

public bool FtpDirectoryExists(string directoryPath, string ftpUser, string ftpPassword)

    bool IsExists = true;
    try
    
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(directoryPath);
        request.Credentials = new NetworkCredential(ftpUser, ftpPassword);
        request.Method = WebRequestMethods.Ftp.PrintWorkingDirectory;
        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    
    catch (WebException ex)
    
        IsExists = false;
        MessageBox.Show(ex.Message);
    
    return IsExists;


private void button6_Click(object sender, EventArgs e)

    string uploadto;
    severip = textBox1.Text;
    username = textBox2.Text;
    password = textBox3.Text;
    uploadto = ("ftp://" + severip + ":1919/" + "IMG/"+ username + ".png");
    textBox4.Text = (uploadto);
    //check if exists
    bool result = FtpDirectoryExists(uploadto, "FTPUser20", "12345");

请帮助我。我的文件已经存在。

【问题讨论】:

IMG文件夹是否存在? 我已编辑您的问题以从标题中删除 C# 标记。阅读原因:meta.stackexchange.com/questions/19190/… 我的文件已经存在。对不起,我忘了告诉 捕获异常以获取更多详细信息:String status = ((FtpWebResponse)e.Response).StatusDescription; 550 文件名目录名或卷标语法不正确。 Win32 错误:文件名目录名或卷标语法不正确。错误详情:文​​件系统返回错误。完我用的是windows 8 Pro,IIS8.0 【参考方案1】:

您应该尝试在代码末尾添加双斜杠:

uploadto = ("ftp://" + severip + ":1919//" + "IMG/"+ username + ".png")

您也应该尝试这种方法:

uploadto = ("ftp://ftp." + severip + ":1919//" + "IMG/"+ username + ".png")

尝试像这样更改您的请求方法:

request.Method = WebRequestMethods.Ftp.DownloadFile;

【讨论】:

uploadto = ("ftp://" + severip + ":1919//" + "IMG/"+ 用户名 + ".png") uploadto = ("ftp://" + severip + ":1919//" + "IMG//"+ username + ".png") 给我同样的错误 uploadto = ("ftp." + severip + ":1919//" + "IMG/"+ username + ".png") 给我新的错误“无法解析远程名称” 我最后的想法:检查 iis 中的安全设置:***.com/questions/17471745/… Sloved request.Method = WebRequestMethods.Ftp.DownloadFile;工作谢谢:D对不起,我不能投票我没有足够的声誉

以上是关于检查 FTPS 上是不是存在文件,错误 550的主要内容,如果未能解决你的问题,请参考以下文章

cmd dos 检查远程FTP文件夹是不是存在

Excel VBA 检查目录是不是存在错误

我的电脑登陆FTP后会出现“windows 无法访问此文件夹 …… 220Sevr-U Sever 550 Not logged in”,怎么解决

C#:检查文件是不是存在 - 进程无法访问文件错误

Flutter 错误:无法找到 gradlew 脚本。检查bat文件是不是存在或android文件夹是不是可读

如何检查 Makefile 中是不是存在文件以便删除它?