Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Проблемма с ftp


Автор: Nikitozz 4.11.2008, 03:15
Вот такой код:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;

namespace FTPclient
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            GetFiles gtf = new GetFiles();
            listBox1.Items.Add(gtf.GetFilesFromFtpServer().ToString());
        }   
    }

    public class GetFiles
    {
        private string ftpUri = "ftp://127.0.0.1/";
        private string Pass = "123456";
        private string User = "abcdef";
        public List<string> GetFilesFromFtpServer()
        {
            List<string> fileList = null;
            FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpUri);
            request.Method = WebRequestMethods.Ftp.ListDirectory;
            request.Credentials = new NetworkCredential(User, Pass);
            request.UsePassive = false;
            //request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
            Stream responseStream = null;
            StreamReader readStream = null;
            try
            {
                responseStream = response.GetResponseStream();

                readStream = new StreamReader(responseStream, System.Text.Encoding.Default);
                if (readStream != null)
                {
                    string line;
                    fileList = new List<string>();
                    do
                    {
                        line = readStream.ReadLine();


                        if (line != null)
                            fileList.Add(line);
                    } while (line != null);
                }
            }
            finally
            {
                if (readStream != null)
                {
                    readStream.Close();
                }
                if (response != null)
                {
                    response.Close();
                }
            }
            return fileList;
        }
    }
}




Запускаю, ошибок нет, появляется форма с листбоксом в нем одна строка заполнена. Но не именем файла или директории, а названием пространства имен  smile 
В чем проблема не пойму... Может видите где-нибудь ошибку?

Автор: Fortnox 7.11.2008, 10:55
Вот это:

Код

listBox1.Items.Add(gtf.GetFilesFromFtpServer().ToString());


Замени на это

Код

listBox1.Items.AddRange(gtf.GetFilesFromFtpServer().ToArray());


Ты просто пытаешься добавить свой fileList не как массив, а как один элемент, да к тому же с преобразованием в строку. smile

Автор: Nikitozz 7.11.2008, 15:03
Fortnox, Спасибо большое! Помогло!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)