csharp 在C#中使用FTP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 在C#中使用FTP相关的知识,希望对你有一定的参考价值。

public class YourFileType
{
    public Stream Value { get; set; }
    public string Name { get; set; }
    public DeductionFileType Extension { get; set; }

    public YourFileType(Stream value, string name)
    {
        Value = value;
        Name = name;
        Extension = GetFileType();
    }

    private YourFileExtension GetFileExtension()
    {
        var extension = Path.GetExtension(Name);

        switch (extension)
        {
            case (".xls"):
                return YourFileExtension.Excel97;
            case (".xlsx"):
                return YourFileExtension.Excel2007;
        }
        return YourFileExtension.None;
    }
}

public enum YourFileExtension
{
    Excel2007, Excel97, None
}
public interface IStreamWrapper
{
    void CopyTo(YourFileType file, string filePath);

    byte[] ReadFile(string filePath);
}
//C#, FTP, IO

public class FtpStreamWrapper : IStreamWrapper
{
    private readonly IFtpClient ftpClient;

    public FtpStreamWrapper(IFtpClient ftpClient)
    {
        this.ftpClient = ftpClient;
    }

    public void CopyTo(YourFileType file, string filePath)
    {
        try
        {
            ftpClient.Upload(file.Value, filePath);
        }
        catch (Exception e)
        {
            throw new FileSaveFailedException(e);
        }
    }

    public byte[] ReadFile(string filePath)
    {
        try
        {
            return ftpClient.Download(filePath);
        }
        catch (Exception e)
        {
            throw new FileReadFailedException(e);
        }
    }
}

以上是关于csharp 在C#中使用FTP的主要内容,如果未能解决你的问题,请参考以下文章

csharp FTP代码c#

csharp Enviar un fichero来自FTP usando C#para .NET

C# 使用 FTP 上传整个目录

csharp 通过ftp上传或删除文件

csharp 设置回调以验证FTP服务器对本地计算机的证书存储区传递给FTP客户端的证书。

csharp 在C#中获取内存使用情况