Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:04 Der er 28 kommentarer og
1 løsning

ASP.NET og mapper!

Hej!

Jegh har et problem! På mit website vil jeg gerne vist nogle filer i en liste som jeg har liggende på computeren. Det er let nok, kode:

        Dim strFileNamePath As String
        strFileNamePath = "C:\Inetpub\wwwroot\WebApplication1\Filer"
        Dim dirInfo As DirectoryInfo = New DirectoryInfo(strFileNamePath)
        Dim aFiles As FileInfo() = dirInfo.GetFiles("*.*")

        DataGrid2.DataSource = aFiles
        DataGrid2.DataBind()

Men de filer jeg har er meget store, og for at de kan "indlæses" i asp.net kal de ligge i en mappe i IIS. Dvs at hvis jeg skal se mine filer på min webside skal jeg ligge flere gb, ind i IIs mappen. Det vil jeg selvfølgelig gerne nudgå! Har prøvet at oprette en virtuel mappe i IIS med navnet "Filer", men i asp.net kan koden ikke finde mappen ... findes der ikke et smart trick så jeg kan hente filer fra mapper på hele computeren?

På forhånd tak!
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:07 #1
det skulle være nok hvis du sørge for at processen har adgang til den folder din filer ligger i.
mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:09 #2
bare give læseadgang for ASPNET brugeren til den folder du har filerne liggende i - så skulle det være tilstrækkeligt.
mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:11 #3
hvis man skal kunne hente filerne via http også - vil det dog være klart det letteste, hvis du sørger for at folderen er et virtual subdir til dit web. det plejer at være det nemmeste synes jeg.
mvh
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:14 #4
Hmm .. jamen hvad skal jeg gøre .. hvordan sørger jeg for at asp.net har adgang til de filer? Har nemlig prøvet at linke direkte til mappen .. så fejlen den og siger at adgang er nægtet.
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:17 #5
ok - det her virker muligvis :

højreklik på folderen, og vælg "sharing and security" (det er lidt afhændig af os).
der kan du gå ind under folderen security, hvor der vil være en liste over de brugere der har rettigheder på folderen.
der klikker du add, og skriver ASPNET.

mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:18 #6
jeg prøver lige om jeg kan finde en vejledning med billeder... hvilket OS bruger du ?
mvh
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:20 #8
XP Pro
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:21 #9
Ja okay ... Men hvis så jeg skal linke til filerne?
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:21 #10
der hvor de har skrevet New User skriver du så bare ASPNET.... hvis du er på et domæne skal du under locations sørge for at angive at du vil finde en bruger på lokalmaskinen.
mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:25 #11
*lolz* vi skrev på samme sekund ! - det har jeg ikke set før :o)

hvis du fra webbet vil linke til filerne, synes jeg du skal angive det som et virtual directory under dit application directory.
(højreklik på det virtual directory som dit web ligger under, og så new->virtual directory).
så kan du linke til det via vanlige url-en uden ballade, og du har kun ét root-web for din applikation.

mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:25 #12
(det er på selve IIS-en du skal gøre det... er du vant til at arbejde med den ?)
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:32 #13
Could not find a part of the path "C:\Inetpub\wwwroot\Filer" ...
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:33 #14
Jeg har ikke de samme menuer som i linket, kan ikke vælge brugertilladelser ...
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:42 #15
er der slet ikke et faneblad der har det samme indhold som på billedet, eller er det deaktiveret ?

hvis du ikke kan give den bruger processen kører under adgang til mappen kan du ikke få det til at virke med mindre du sætter processen til at køre under en anden bruger med andre rettigheder (dette gøres i machine.config, men det er sådan lidt et sikkerheds-hack).

mvh
Avatar billede cablenet.dk Nybegynder
31. oktober 2004 - 21:46 #16
Hmm .. kan jeg aktiverer det ... for mine folder-egenskaber ser ikke ud som på billedet, jeg kan ikke vælge de samme indstillinger ....
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:52 #17
du skal nok slå det til... der står godt nok noget om fax i toppen af denne, men jeg tror det et det du skal bruge :
http://support.microsoft.com/?kbid=304040
(det er videoen der viser det).

mvh
Avatar billede snepnet Nybegynder
31. oktober 2004 - 21:54 #18
(det er ikke rigtig mit domæne det her.... det er mere det med ASP.NET jeg plejer at gøre i.... men du kan jo prøve at klikke det fra og til og se om det gør en forskel :o) - det er jo sansynligt at man ikke kan gøre det store, hvis simpel fildelign er slået til...
Avatar billede cablenet.dk Nybegynder
01. november 2004 - 17:42 #19
Nu har jeg i det mindste fået filerne ind i en liste ... men problemet er linket til filerne når jeg skal downloade dem ... det virker ikke!
Avatar billede snepnet Nybegynder
02. november 2004 - 19:51 #20
hvordan genererer du dine links - og hvad er resultatet i browseren ? (altså hvad står der ved <a href="?"
mvh
Avatar billede cablenet.dk Nybegynder
04. november 2004 - 21:58 #21
Avatar billede cablenet.dk Nybegynder
04. november 2004 - 21:59 #22
Avatar billede cablenet.dk Nybegynder
04. november 2004 - 22:00 #23
file:///C:/Inetpub/wwwroot/WebApplication1/Filer(06)%20Adema%20-%20Everyone.mp3
Avatar billede cablenet.dk Nybegynder
04. november 2004 - 22:00 #24
Sådan ser et link ud ...
Avatar billede snepnet Nybegynder
05. november 2004 - 13:55 #25
hej igen... undskyld jeg først er tilbage nu :o(

du kan ikke linke direkte til den fysiske fil via filsystemet... du bliver nødt lave dem om til http-links, og hvis du alligevel står med filnavnet i hånden kan du bare lavet et link ud fra det + den IIS-mappe du har filerne liggende i ganske simepelt f.eks. ved :

.NavigateUrl = Request.ApplicationPath + "/Files/" + filename;

Hvor files så er den folder som filerne ligger i - relativt til applicationroot.

Der findes også en lille klasse der kan hjælpe dig :
System.IO.Path
Den har en Combine-metode der kan hjælpe.

mvh
Avatar billede cablenet.dk Nybegynder
06. november 2004 - 00:05 #26
Ja! Dr rigtigt! Fandt faktisk selv ud af det :d Men ja det er sådan det skal gøres! Tak for hjælpen!
Avatar billede cablenet.dk Nybegynder
06. november 2004 - 00:13 #27
Du skal da have points, smid et svar! :P
Avatar billede cablenet.dk Nybegynder
30. november 2004 - 10:59 #28
Vil du ikke have dine points? ... :)
Avatar billede snepnet Nybegynder
30. november 2004 - 11:48 #29
hov undskyld... jeg har været uopmærksom :o( - sorry.
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