GetDirectories e Server.MapPath

venerdì 21 maggio 2010 - 16.36

Anonimo Profilo | Senior Member

Salve, ho questo codice che dovrebbe selezionare tutto quello che trova nella dir, ma non lo fa , mi lascia in bianco anche se ci sono dei file.
Devo popolare una dropdownlist con le cartelle.

Ecco il codice:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Nella cartella ci sono due immagini, e non la visualizza nel menu a tendina come mai?.

fguida Profilo | Expert

Io per recuperare i file di una directory uso il FIleInfo[] così:

DirectoryInfo dir = new DirectoryInfo(relativePath);
FileInfo[] listFile = dir.GetFiles("*.jpg");
return listFile;

Ciclo poi la lista file recuperando il "Name"...credo che ti esca vuota perchè non cerchi la sua proprietà.

Francesco

Anonimo Profilo | Senior Member

si, ho provato senza altro , ha funzionato solo che a me mi serve recuperare anche le cartelle,
solo che se faccio selezionare,
mi salva tutto il path.
<option value="D:\wwwroot\www.sitotest.org\public\photo\global\big\paolaroberto2.jpg">D:\wwwroot\www.sitotest.org\public\photo\global\big\paolaroberto2.jpg</option>

Come posso fare?, salvare solo le ultime paolaroberto2.jpg

Grazie :)
Ora provo quello che mi hai scritto. solo che io devo fare cosi:

/public/photo/global/*thumb o big*/Paolo ed Enrica/Photo1.jpg
/public/photo/global/*thumb o big*/Davide ed Sara/Photo3.jpg
etc.
Mi dici come posso fare?

Gluck74 Profilo | Guru

Ciao Orange,

ti do qualche informazione:
l'istruzione Directory.GetDirectories, non restituisce una stringa ma un array di stringhe;
l'istruzione Directory.GetFiles idem,
quindi il tuo codice diventa:

private void dummy() { string[] d = Directory.GetDirectories(Server.MapPath("../../public/photo/global/thumb/")); foreach (string dirName in d) { string[] f = Directory.GetFiles(dirName, "*.*"); foreach (string fileName in f) { ddFoto.Items.Add(fileName); } } }

Inoltre puoi seguire il suggerimento di fguida ed utilizzare le classi DirectoryInfo e FileInfo che ti mettono a disposizione le proprietà per ricavare solo il nome del file.

ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5