C # Загрузка / чтение файла журнала с FTP - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть несколько .log файлов на FTP-сервере.Мне нужно загрузить их на мой диск.Кроме того, читать и отображать содержимое.Я прочитал соответствующие посты здесь и придумал код:
СКАЧАТЬ

public void DownloadFile(String infile)

    {
        String myUrl = String.Format("ftp://{0}/{1}", IpAddress, infile);

        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(myUrl));
        request.Credentials = new NetworkCredential(UserName, Password);
        request.Method = WebRequestMethods.Ftp.DownloadFile;

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        Stream responseStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(responseStream);

        String output = String.Format("{0}", infile);
        using (StreamWriter destination = new StreamWriter(output))
        {
            destination.Write(reader.ReadToEnd());
            destination.Flush();
        }

        reader.Close();
        response.Close();
    }

READ

public string ReadTxtFile2(String infile)
    {
        WebClient request = new WebClient();
        String url = String.Format("ftp://{0}/{1}", IpAddress, infile);
        request.Credentials = new NetworkCredential(UserName, Password);
        try
        {
            // also tried: String fileString = request.DownloadString(url);

            byte[] newFileData = request.DownloadData(url);
            string fileString = System.Text.Encoding.UTF8.GetString(newFileData);
            return fileString;
        }
        catch (WebException e)
        {
            return e.Message;
        }
    }

Каким-то образом загрузка возвращает мне пустой файл 0 КБ, а функция read () выводит пустое содержимое.Я не могу выяснить, почему, любая помощь?
ПРИМЕЧАНИЕ: файлы существуют на сервере, я могу перечислить их.

1 Ответ

0 голосов
/ 13 февраля 2019

Согласно MSDN ваш URL String myUrl = String.Format("ftp://{0}/{1}", IpAddress, infile); представляется относительным, и ваш файл не может быть найден для загрузки.Попробуйте проверить путь к файлам на сервере

...