Hallo, ich habe gestern schon was unnötiges gepostet aber jetzt habe ich wirklcih ein Problem.
schaut hier...
Code: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 ftpWinForms { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private byte[] downloadData; private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "suljica" && textBox2.Text == "keineahnungok") { button1.Enabled = false; textBox1.Text = ""; textBox2.Text = ""; MessageBox.Show("Daten wurden akzeptiert, Verbindung zum Server wird hergestellt, bitte warten...", "Zugriff bestätigt", MessageBoxButtons.OK, MessageBoxIcon.Information); FtpWebRequest HIT = FtpWebRequest.Create("ftp://rapidmind.99k.org/") as FtpWebRequest; HIT.Credentials = new NetworkCredential("rapidmind_99k", "Ke1neahnungok@@"); //{UserName = "versteckt", Password = "versteckt" }; HIT.Method = WebRequestMethods.Ftp.ListDirectory; HIT.UsePassive = true; HIT.UseBinary = true; HIT.KeepAlive = true; FtpWebResponse Response = HIT.GetResponse() as FtpWebResponse; Stream responseStream = Response.GetResponseStream(); StreamReader sr = new StreamReader(responseStream); while (!sr.EndOfStream) { listBox1.Items.Add(sr.ReadLine()); Application.DoEvents(); } Response.Close(); responseStream.Close(); for (int i = 0; i <= 1; i++) { listBox1.Items.RemoveAt(i); } } else { MessageBox.Show("Benutzername oder Passwort falsch", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void button2_Click(object sender, EventArgs e) { string Datei = listBox1.SelectedItem.ToString(); if (Datei == "..") { MessageBox.Show("Dies ist bloß eine FTP Datei und kann nicht heruntergeladen werden", "FTP", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { downloadData = new byte[0]; FtpWebRequest HIT = FtpWebRequest.Create("ftp://rapidmind.99k.org/" + Datei) as FtpWebRequest; HIT.Method = WebRequestMethods.Ftp.DownloadFile; HIT.Credentials = new NetworkCredential{UserName = "versteckt", Password = "versteckt" }; HIT.UsePassive = true; HIT.UseBinary = true; HIT.KeepAlive = false; FtpWebResponse Response = HIT.GetResponse() as FtpWebResponse; Stream reader = Response.GetResponseStream(); MemoryStream memSream = new MemoryStream(); byte[] buffer = new byte[1024]; int ByteRead; while (true) { ByteRead = reader.Read(buffer, 0, buffer.Length); if (ByteRead == 0) { break; } else { memSream.Write(buffer, 0, ByteRead); } reader.Close(); memSream.Close(); Response.Close(); } downloadData = memSream.ToArray(); } } } }
Ich krieg folgende Exception:
Auf das verworfende Objekt kann nicht zugegriffen werden,.
Objektname: "System.Net.Sockets.Network.Stream".



Zitieren
