• 大小: 20KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: C#
  • 标签: FtpClient so  C#  

资源简介

由于项目的需要,参照这儿这儿朋友的一些原码写的一个基于Socket的FTP登陆Class.  修正点'    改正了原Class不能正常运行Linux系Ftp的BUG    可能实行PortMode数据传送    加强了接口. 调用参照' curFtpClent = new FtpClient(); //HostURL curFtpClent.HostUrl = this._NfitsConfigDataCopy.DownloadURI; //サーバのサーバフォルダ curFtpClent.RemotesubDir = genreInfo.GetDownDir(); //ログインユーザ curFtpClent.LoginUser = this._NfitsConfigDataCopy.DownloadUser; // curFtpClent.PassWord = this._NfitsConfigDataCopy.DownloadPassword; curFtpClent.LocalDir = genreInfo.ContentTempDirectory; curFtpClent.PasvMode = (this._NfitsConfigDataCopy.FtpPASV ? FtpDataTransMode.Pasv : FtpDataTransMode.Port); // 取得ファイルリストを取得する curFileCount = curFtpClent.DownLoad(); curFtpClent.DisConnect();

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Runtime.InteropServices;
using System.Text.Regularexpressions;
using System.Net.Sockets;
using log4net;

namespace Nfits.Nkcs.Nds.FtpClass
{

    #region   “共通用クラスの定義、 “
    /// 
    /// サーバのファイル種類
    /// 

    public enum FtpFileType
    {
        File       //ファイル
        Directory   //フォルダ
        Other      //その他(ファイル・フォルダ以外)
        All           //すべて
    }
    /// 
    /// サーバフォルダの属性(絶対パス、
    /// (IP、URL、ルートフォルダ)など親フォルダにり、相対パス
    /// 

    public enum FtpRemoteDirOption
    {

        /// 
        /// 設定されるStrHostUrlURLにより、相対パス
        /// 例 StrHostUrl=199.199.199.199/dataの場合、
        ///   ①、直下フォルダ「JNF]をアクセスしよう場合、
        ///   /JNFで、アクセスできる 
        ///   ②、直下フォルダ「JNF]の子フォルダ「KK」をアクセスしよう場合、
        ///   /JNF/kkで、アクセスできる
        /// 

        UrlOpposite = 0     //設定されるURLにより、相対パス
        /// 
        /// Ipアドレスより、相対パス
        /// 例 StrHostUrl=199.199.199.199/dataの場合、
        ///   ①、直下フォルダ「JNF]をアクセスしよう場合、
        ///   /data/JNFで、アクセスできる 
        ///   ②、直下フォルダ「JNF]の子フォルダ「KK」をアクセスしよう場合、
        ///   /data/JNF/kkで、アクセスできる
        /// 

        IpOpposite = 1     //Ipアドレスより、相対パス
        /// 
        /// 現状作業フォルダに対して、相対パス 
        /// 例 StrHostUrl=199.199.199.199/data、 StrRemoteDir = /JNF の場合、
        ///   ①、直下フォルダ「JNF]の子フォルダ「KK」をアクセスしよう場合、
        ///   /kkで、アクセスできる 
        /// 

        CurWorkDirOpposite = 2     //外部設定済みフォルダにより、相対パス    
        /// 
        /// ログインユーザの権限で、見えるルートフォルダより、絶対パス
        /// 例:Linuxの場合、   Var/tmp/xxxx
        ///     WinDowsの場合、  /xxx/
        /// 例 StrHostUrl=199.199.199.199/dataの場合、(ルート権限で、
        ///   /JNF   ×
        ///   /var/www/html/dat/USERS/ndscst/JNF  
        /// 

        Absolutely = 3   //ルートフォルダより、絶対パス(

    }
    /// 
    /// 通信データタイプ
    /// 

    public enum FtpTransType
    {
        // A=ASCII,E=EBCDIC,I=binary
        ASCII = 0
        BINARY = 1
        EBCDIC = 2
    }
    /// 
    /// 接続モード(Port、Pasv両方)
    /// 

    public enum FtpDataTransMode
    {
        // ポートモード、パッシプコード、オール 
        Port = 0
        Pasv = 1
        All = 2
    }
    /// 
    /// サーバのファイルの情報クラス
    /// 

    public class FtpFileInfo
    {   //フィアル名
        public String FileName { get; set; }
        //ファイルサイズ
        public long fileSize { get; set; }
        //ファイルタイプ(ファイル、フォルダ)
        public FtpFileType FileType { get; set; }
        //コメント
        public String Perssion { get; set; }
        //フォルダの場合、とフォルダ下のファイル(フォルダ)情報
        public List FileList { get; set; }
        //Ftp:// ~/
        //サーバの格納箇所(
        public String FileRemotePath { get; set; }
        //上記フォルダの命名種類
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      137408  2011-01-26 10:43  FtpClient_Ver2.cs

评论

共有 条评论