ASP.如何检查ftp服务器上是否存在文件?

本文关键字:服务器 是否 存在 文件 ftp 何检查 检查 ASP | 更新日期: 2023-09-27 18:17:58

我正在做一个ASP。. NET MVC 5.1网站,我需要显示的图片,如果它存在于ftp服务器(CDN)。文件夹名和文件名与规则相关联,因此我事先知道它们。如果这个文件不存在,我需要显示一条消息。

如何检查该文件是否存在?

建议重复(验证文件是否存在于c#中)没有帮助,因为我需要检查文件是否存在于远程服务器上,而不是本地文件夹。

ASP.如何检查ftp服务器上是否存在文件?

试试下面的代码

  string destination = "ftp://something.com/";
    string file = "test.jpg";
    string extention = Path.GetExtension(file);
    string fileName = file.Remove(file.Length - extention.Length);
    string fileNameCopy = fileName;
    int attempt = 1;
    while (!CheckFileExists(GetRequest(destination + "//" + fileNameCopy + extention)))
    {
        fileNameCopy = fileName + " (" + attempt.ToString() + ")";
        attempt++;
    }
    // do your upload, we've got a name that's OK
}
private static FtpWebRequest GetRequest(string uriString)
{
    var request = (FtpWebRequest)WebRequest.Create(uriString);
    request.Credentials = new NetworkCredential("", "");
    request.Method = WebRequestMethods.Ftp.GetFileSize;
    return request;
}
private static bool checkFileExists(WebRequest request)
{
    try
    {
        request.GetResponse();
        return true;
    }
    catch
    {
        return false;
    }
}

FTP引用检查文件是否存在