Avatar billede anders_h Novice
13. september 2006 - 16:24 Der er 7 kommentarer

Loade filnavne ind i array

Hejsa..

Jeg er ved at lave et fotogalleri, hvor man skal have mulighed for at bladre igennem en samling billeder. I den forbindelse, skal jeg have asp.net til at loade samtlige filnavne i en mappe ind i et array.

F.eks. hvis en mappe indeholder følgende filer:
---
fil1.jpg
fil2.jpg
fil3.jpg
---

skal værdierne i arrayet tilsvarende være "fil1.jpg", "fil2.jpg" og "fil3.jpg".

Det vil være dejligt hvis de bliver sorteret, så fil1.jpg får første plads (altså plads 0) i arrayet.

På forhånd tak.

Mvh. Anders
Avatar billede snepnet Nybegynder
13. september 2006 - 17:19 #1
System.IO.Directory.GetFiles(...) giver dig et stringarray af filnavne i den folder du angiver i metodekaldet.
Du kan efterfølgende sortere det array med Array.Sort(ditarray)
Mvh
Avatar billede anders_h Novice
13. september 2006 - 18:40 #2
Tak, men jeg forstår ikke lige, hvordan man skal indtaste stien til mappen. Jeg får hele tiden den fejl, at den enten ikke kan finde mappen eller at den måde jeg har indtastet stien på ikke er understøttet..
Avatar billede anders_h Novice
13. september 2006 - 18:43 #3
Could not find a part of the path 'C:\Programmer\Microsoft Visual Studio 8\Common7\IDE\Gallery\Low'.

Hvis jeg indtaster stien "Gallery/Low". Heller ikke hvis jeg indtaster den fulde sti, eller bruger file:// virker det.
Avatar billede anders_h Novice
13. september 2006 - 18:55 #4
Ok, nu har jeg fundet ud af, at man bare skal indtaste stien, f.eks. E:/Dokumenter/Visual Studio/osv..

Men når siden skal på et webhotel, duer det jo ikke helt, da den ikke understøtter en webadresse som sti.. Nogen forslag?
Avatar billede anders_h Novice
13. september 2006 - 18:55 #5
Og så kommer string'ens værdi til at indeholde hele stien, ikke kun filnavnet.
Avatar billede anders_h Novice
13. september 2006 - 19:17 #6
Sådan her:

                        <script runat="server">
                          void Page_Load(object sender, EventArgs e)
                            {
                                  FileInfo fi = new FileInfo(Server.MapPath(""));
                                  DirectoryInfo di = new DirectoryInfo(Server.MapPath("Gallery/Low"));
                                  FileSystemInfo[] fsi = di.GetFiles();
                                  Response.Write("The directory contains the following files and directories:" + di.FullName + "<hr>");
                                  foreach (FileSystemInfo info in fsi)
                                  Response.Write(info.Name + "<br>");
                            }
                        </script>
Avatar billede snepnet Nybegynder
13. september 2006 - 20:59 #7
Ja - du kan også bruge DirectoryInfo klassen, og den giver dig så en hel del mere information om filerne i folderen.
Men jeg synes nu den anden er nemmere hvis det udelukkende er filnavnene du skal bruge.
Server.MapPath er altid gangbar når du skal fra en virtuel sti til en fysisk.
Path er en anden god klasse at have ved hånden når du arbejder med filstier.
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester