2

FTP フォルダにあるファイルのリストを取得しようとしています。ローカルで実行したときはコードが機能していましたが、展開すると、ファイル名ではなく html を受け取り始めました

ArrayList fName = new ArrayList();
try
{
    StringBuilder result = new StringBuilder();

    //create the directory
    FtpWebRequest requestDir =
        (FtpWebRequest) FtpWebRequest.Create(new Uri(directory));
    requestDir.Method = WebRequestMethods.Ftp.ListDirectory;
    requestDir.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
    requestDir.UsePassive = true;
    requestDir.UseBinary = true;
    requestDir.KeepAlive = false;
    requestDir.Proxy = null;
    FtpWebResponse response = (FtpWebResponse)requestDir.GetResponse();
    Stream ftpStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(ftpStream, Encoding.ASCII);

    while (!reader.EndOfStream)
    {
        fName.Add(reader.ReadLine().ToString());
    }

    response.Close();
    ftpStream.Close();
    reader.Close();
4

2 に答える 2

1

あなたはで試すことができますGetFileName

Uri uri = new Uri(hreflink);
string filename = Path.GetFileName(uri.LocalPath);
于 2012-10-11T09:34:59.797 に答える
1

名前ではなくftpサーバーのIPアドレスを使用して、(htmlではなく)リスト形式でファイル名にアクセスできました

すなわち


ftp://xxx.x.x.xxx/folder_name/

それ以外の


ftp://abc.some_company.com/folder_name/

詳細については、この回答を編集します。

于 2012-10-17T03:10:44.280 に答える