相关疑难解决方法(0)

如何在FtpWebRequest之前检查FTP上是否存在文件

我需要用来FtpWebRequest将文件放在FTP目录中.在上传之前,我首先想知道这个文件是否存在.

我应该使用什么方法或属性来检查此文件是否存在?

.net c# ftp ftpwebrequest

66
推荐指数
3
解决办法
9万
查看次数

用于确定FTP目录是否存在突然停止工作的代码

很久以前我写了下面的代码来确定FTP目录是否存在:

public bool DirectoryExists(string directory)
{
    try
    {
        FtpWebRequest request = GetRequest(directory);
        request.Method = WebRequestMethods.Ftp.ListDirectory;

        using (FtpWebResponse response = request.GetResponse() as FtpWebResponse)
        {
            StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.ASCII);
            sr.ReadToEnd();
            sr.Close();
            response.Close();
        }
        return true;
    }
    catch { }
    return false;
}

protected FtpWebRequest GetRequest(string filename = "")
{
    FtpWebRequest request = WebRequest.Create(_host.GetUrl(filename)) as FtpWebRequest;
    request.Credentials = new NetworkCredential(Username, Password);
    request.Proxy = null;
    request.KeepAlive = false;
    return request;
}
Run Code Online (Sandbox Code Playgroud)

这段代码已经工作了好几年,但今天却没有.在测试不存在的目录时,代码DirectoryExists()不再引发异常,并且方法错误地返回true.

如果我将结果分配给sr.ReadToEnd()字符串,则它是一个空字符串.

在这种情况下,代码_host.GetUrl(filename)返回" …

.net c# ftp ftpwebrequest

5
推荐指数
1
解决办法
2321
查看次数

如何确定FTP目录是否存在

我编写了以下代码来检测目录是否存在.该DirectoryExists方法接受完全限定或相对路径.

public bool DirectoryExists(string directory)
{
    try
    {
        FtpWebRequest request = GetRequest(directory);
        request.Method = WebRequestMethods.Ftp.ListDirectory;

        using (FtpWebResponse response = request.GetResponse() as FtpWebResponse)
        using (StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.ASCII))
        {
            sr.ReadToEnd();
        }
        return true;
    }
    catch { }
    return false;
}

protected FtpWebRequest GetRequest(string filename = "")
{
    FtpWebRequest request = WebRequest.Create(_host.GetUrl(filename)) as FtpWebRequest;
    request.Credentials = new NetworkCredential(Username, Password);
    request.Proxy = null;
    request.KeepAlive = false;
    return request;
}
Run Code Online (Sandbox Code Playgroud)

注意:_host.GetUrl(filename)返回指定目录或文件名的完全限定路径.就我而言,这是ftp://www.mydomain.com/Articles/controls/precisely-defining-kilobytes-megabytes-and-gigabytes.

这段代码已经工作了好几个月.但突然间它停止了工作.现在,DirectoryExists当目录不存在时,不会引发异常.sr.ReadToEnd()只返回一个空字符串. …

.net c# ftp webrequest ftpwebrequest

5
推荐指数
1
解决办法
3374
查看次数

C# 递归上传到FTP服务器

我需要从 C# 代码将文件夹(包含子文件夹和文件)从一台服务器上传到另一台服务器。我做了一些研究,发现我们可以使用 FTP 来实现这一点。但这样我就只能移动文件,而不能移动整个文件夹。感谢这里的任何帮助。

.net c# ftp ftp-client ftpwebrequest

2
推荐指数
1
解决办法
4080
查看次数

标签 统计

.net ×4

c# ×4

ftp ×4

ftpwebrequest ×4

ftp-client ×1

webrequest ×1