mostar contenido ftp en un list box
Publicado por arcenett (45 intervenciones) el 22/05/2007 18:43:12
hola a todos, tengo la siguiente duda....
tengo un webform , en el tengo 4 listbox , y un boton siguiente por cada listbox.
en el formload lleno el primer listbox con los directorios que estan en un ftp (" ftp://ftp.xxxxx.cl/"), el usuario debe seleccionar algun directorio para poder dar click a siguiente, al hacer esto (dar click al boton siguiente) dentro del codigo Button1_Click conecto otra vez a la ftp y dejo en una variable String el ListBox1.SelectedItem.ToString(), este string lo concateno a la direccion original para poder entrrar directamente a ese directorio, lo que pasa es que al momento de reconectar con el ftp osea "ftp://ftp.xxxx.cl/" +String+"/" me debe cargar el segundo listbox con los directorios que ahi se encuentren pero no lo hace, estoy ocupando el mismo codigo ke utilizo cuando se carga el primer listbox.
aca dejo el codigo:
public String ftp1;
public ArrayList array1 = new ArrayList();
public ArrayList array2 = new ArrayList();
public String Var_sel;
protected void Page_Load(object sender, EventArgs e)
{
String usuario, contraseña;
ftp1 = "ftp://ftp.xxxxxxxx.cl/";
//usuario = Session["usuario"].ToString(); habilitar luego
// contraseña = Session["contraseña"].ToString();
System.Net.FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp1);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("xxxxxx", "xxxxxx");
FtpWebResponse responsex = (FtpWebResponse)request.GetResponse();
Stream responseStream = responsex.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
int x = 0;
String res;
while ((res = reader.ReadLine()) != null)
{
x = x + 1;
array1.Add(res);
}
Response.Write("</table>");
Response.Write("</br>");
if (!Page.IsPostBack)
{
for (int y = 0; y < x; y++)
{
ListBox1.Items.Add((array1[y].ToString()));
//ListBox2.Items.Add((array1[y].ToString()));
//ListBox3.Items.Add((array1[y].ToString()));
//ListBox4.Items.Add((array1[y].ToString()));
}
}
reader.Close();
responsex.Close();
ListBox1.Items[0].Selected = true;
}
protected void Button1_Click(object sender, EventArgs e)
{
String usuario, contraseña;
String list1;
//usuario = Session["usuario"].ToString(); habilitar luego
// contraseña = Session["contraseña"].ToString();
Label6.Visible = true;
list1 = ListBox1.SelectedItem.ToString()+"/";
Label6.Text = ftp1+list1;
System.Net.FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp1+list1);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("xxxxx", "xxxxx");
FtpWebResponse responsex = (FtpWebResponse)request.GetResponse();
Stream responseStream = responsex.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
int x = 0;
String res;
while ((res = reader.ReadLine()) != null)
{
x = x + 1;
array2.Add(res);
}
Response.Write("</table>");
Response.Write("</br>");
if (!Page.IsPostBack)
{
for (int y = 0; y < x; y++)
{
ListBox2.Items.Add((array2[y].ToString()));
}
}
reader.Close();
responsex.Close();
ListBox2.Visible = true;
// ListBox2.Items[0].Selected = true;
ListBox1.Enabled = false;
Button2.Visible = true;
Label2.Visible = true;
}
tengo un webform , en el tengo 4 listbox , y un boton siguiente por cada listbox.
en el formload lleno el primer listbox con los directorios que estan en un ftp (" ftp://ftp.xxxxx.cl/"), el usuario debe seleccionar algun directorio para poder dar click a siguiente, al hacer esto (dar click al boton siguiente) dentro del codigo Button1_Click conecto otra vez a la ftp y dejo en una variable String el ListBox1.SelectedItem.ToString(), este string lo concateno a la direccion original para poder entrrar directamente a ese directorio, lo que pasa es que al momento de reconectar con el ftp osea "ftp://ftp.xxxx.cl/" +String+"/" me debe cargar el segundo listbox con los directorios que ahi se encuentren pero no lo hace, estoy ocupando el mismo codigo ke utilizo cuando se carga el primer listbox.
aca dejo el codigo:
public String ftp1;
public ArrayList array1 = new ArrayList();
public ArrayList array2 = new ArrayList();
public String Var_sel;
protected void Page_Load(object sender, EventArgs e)
{
String usuario, contraseña;
ftp1 = "ftp://ftp.xxxxxxxx.cl/";
//usuario = Session["usuario"].ToString(); habilitar luego
// contraseña = Session["contraseña"].ToString();
System.Net.FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp1);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("xxxxxx", "xxxxxx");
FtpWebResponse responsex = (FtpWebResponse)request.GetResponse();
Stream responseStream = responsex.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
int x = 0;
String res;
while ((res = reader.ReadLine()) != null)
{
x = x + 1;
array1.Add(res);
}
Response.Write("</table>");
Response.Write("</br>");
if (!Page.IsPostBack)
{
for (int y = 0; y < x; y++)
{
ListBox1.Items.Add((array1[y].ToString()));
//ListBox2.Items.Add((array1[y].ToString()));
//ListBox3.Items.Add((array1[y].ToString()));
//ListBox4.Items.Add((array1[y].ToString()));
}
}
reader.Close();
responsex.Close();
ListBox1.Items[0].Selected = true;
}
protected void Button1_Click(object sender, EventArgs e)
{
String usuario, contraseña;
String list1;
//usuario = Session["usuario"].ToString(); habilitar luego
// contraseña = Session["contraseña"].ToString();
Label6.Visible = true;
list1 = ListBox1.SelectedItem.ToString()+"/";
Label6.Text = ftp1+list1;
System.Net.FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp1+list1);
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("xxxxx", "xxxxx");
FtpWebResponse responsex = (FtpWebResponse)request.GetResponse();
Stream responseStream = responsex.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
int x = 0;
String res;
while ((res = reader.ReadLine()) != null)
{
x = x + 1;
array2.Add(res);
}
Response.Write("</table>");
Response.Write("</br>");
if (!Page.IsPostBack)
{
for (int y = 0; y < x; y++)
{
ListBox2.Items.Add((array2[y].ToString()));
}
}
reader.Close();
responsex.Close();
ListBox2.Visible = true;
// ListBox2.Items[0].Selected = true;
ListBox1.Enabled = false;
Button2.Visible = true;
Label2.Visible = true;
}
Valora esta pregunta


0