Avatar billede foxmulder Nybegynder
30. juli 2002 - 09:03 Der er 13 kommentarer og
1 løsning

Hente indhold af bibliotek fra intranet folder

How dælen do I do it??
Jeg vil gerne hente indholdet af et bibliotek på intranettet og vise det i en tabel på min side.
Biblioteket hedder f.eks. q:\test\web\

Jeg er temmelig newbie i ASP så hvis du vil svare med et cut&paste svar vil det være guld.
Avatar billede eagleeye Praktikant
30. juli 2002 - 09:10 #1
Dette lister alle filer i en folder.

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Get the folder object associated with the directory
Dim objFolder
Set objFolder = objFSO.GetFolder("q:\test\web\")

Response.Write "The files found in " & objFolder.Name & ":<br>"

'Loop through the Files collection
Dim objFile
For Each objFile in objFolder.Files
  Response.Write objFile.Name & "<br>"
Next

'Clean up!
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
Avatar billede eagleeye Praktikant
30. juli 2002 - 09:11 #2
hvis du vil havde mulighed for at sortere eks filnavne såkan du bruge dette. Det fylder godt nok en del mer..:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=118
Avatar billede bobbedude Nybegynder
30. juli 2002 - 09:30 #3
Lav en fil der hedder index.asp og kopier dette ind i den

<%

    HomeDir = "files"

    Security = "On"
   
    CurrentDir = Request.QueryString("dir")
    if Left(CurrentDir, 3) = "../" and Security = "On" then
    Response.Write "You are not permitted to browse this directory."
    else
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    if CurrentDir = "" then
    CurrentDir = HomeDir
    Set BrowseContents = FSO.GetFolder(Server.MapPath(HomeDir))
    else
    Set BrowseContents = FSO.GetFolder(Server.MapPath(CurrentDir))
    end if
%>
<HTML>
<HEAD>
<TITLE>Browse</TITLE>
<LINK REL=STYLESHEET TYPE=TEXT/CSS HREF="styles.css">
</HEAD>
<BODY>
<DIV ALIGN=CENTER>
<TABLE WIDTH=80%>
<TR><TD>
<TABLE WIDTH=100% BGCOLOR=BLACK BORDERCOLOR=WHITE BORDER=1 CELLSPACING=0><TR><TD>
<TABLE WIDTH=100%>
<TR><TD COLSPAN=2><H3>Contents of <%=CurrentDir%>:</TD></TR>
<TR><TD WIDTH="75%">Item name:</TD><TD WIDTH="25%"><DIV ALIGN=RIGHT>Item size:</DIV></TD></TR>
<%
    if not CurrentDir = HomeDir then
    UpOneDirBegPos = InStrRev(CurrentDir, "/")
    UpOneDirTotal = len(CurrentDir)
    UpOneDirPath = Left(CurrentDir, UpOneDirBegPos - 1)
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & UpOneDirPath & """>(up one level)</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""></TD></TR></TABLE>"
    end if
   
    for each BrowsedFolder in BrowseContents.SubFolders
    if BrowsedFolder.Name <> "_vti_cnf" then
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & CurrentDir & "/" & BrowsedFolder.Name & """>" & BrowsedFolder.Name & "</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""><DIV ALIGN=""RIGHT"">"
    Response.Write BrowsedFolder.Size \ 1024 & "KB"
    Response.Write "</DIV></TD></TR></TABLE>"
    ContainsSomething = "True"
    end if
    next
   
   
   
    if ContainsSomething <> "True" then
    Response.Write "<TABLE WIDTH=""100%""><TR><TD>There is nothing in this directory.</TD></TR></TABLE>"
    end if
%>

</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<TABLE WIDTH=100% CELLSPACING="0" CELLPADDING="2" BORDER="1" BORDERCOLOR="WHITE" BGCOLOR="BLACK">
<TR><TD>

</TD></TR></TABLE>
</TD></TR></TABLE>
<%
    Set FSO = Nothing
    Set BrowseContents = Nothing
    end if
%>
</BODY>
</HTML>

HomeDir = "files"
Skal ændres til den vituelle sti til den mappe du står i
Avatar billede bobbedude Nybegynder
30. juli 2002 - 09:36 #4
En lille rettelse så du kan se dine filer også

<%

    HomeDir = "files"
    Security = "On"
    CurrentDir = Request.QueryString("dir")
    if Left(CurrentDir, 3) = "../" and Security = "On" then
    Response.Write "You are not permitted to browse this directory."
    else
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    if CurrentDir = "" then
    CurrentDir = HomeDir
    Set BrowseContents = FSO.GetFolder(Server.MapPath(HomeDir))
    else
    Set BrowseContents = FSO.GetFolder(Server.MapPath(CurrentDir))
    end if
%>
<HTML>
<HEAD>
<TITLE>Browse</TITLE>
<LINK REL=STYLESHEET TYPE=TEXT/CSS HREF="styles.css">
</HEAD>
<BODY>
<DIV ALIGN=CENTER>
<TABLE WIDTH=80%>
<TR><TD>
<TABLE WIDTH=100% BGCOLOR=BLACK BORDERCOLOR=WHITE BORDER=1 CELLSPACING=0><TR><TD>
<TABLE WIDTH=100%>
<TR><TD COLSPAN=2><H3>Contents of <%=CurrentDir%>:</TD></TR>
<TR><TD WIDTH="75%">Item name:</TD><TD WIDTH="25%"><DIV ALIGN=RIGHT>Item size:</DIV></TD></TR>
<%
    if not CurrentDir = HomeDir then
    UpOneDirBegPos = InStrRev(CurrentDir, "/")
    UpOneDirTotal = len(CurrentDir)
    UpOneDirPath = Left(CurrentDir, UpOneDirBegPos - 1)
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & UpOneDirPath & """>(up one level)</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""></TD></TR></TABLE>"
    end if
   
    for each BrowsedFolder in BrowseContents.SubFolders
    if BrowsedFolder.Name <> "_vti_cnf" then
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & CurrentDir & "/" & BrowsedFolder.Name & """>" & BrowsedFolder.Name & "</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""><DIV ALIGN=""RIGHT"">"
    Response.Write BrowsedFolder.Size \ 1024 & "KB"
    Response.Write "</DIV></TD></TR></TABLE>"
    ContainsSomething = "True"
    end if
    next
   
    for each BrowsedFile in BrowseContents.Files
    FileExtBegPos = InStrRev(BrowsedFile.Name, ".")
    FileExtTotal = len(BrowsedFile.Name)
    FileExt = Right(BrowsedFile.Name, FileExtTotal - FileExtBegPos)
   
    select case FileExt
    case "asp"
    FileIcon = "aspicon.gif"
    case "htm", "html", "shtm", "shtml"
    FileIcon = "htmlicon.gif"
    case "jpg", "jpeg", "gif", "png", "bmp"
    FileIcon = "imgicon.gif"
    case "zip", "rar", "tar", "gz"
    FileIcon = "zipicon.gif"
    case "exe"
    FileIcon = "exeicon.gif"
    case "mp3", "wav", "rm", "wmv"
    FileIcon = "mp3icon.gif"
    case else
    FileIcon = "icon.gif"
    end select
   
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/" & FileIcon & """></TD><TD WIDTH=""70%""><A HREF=""" & CurrentDir & "/" & BrowsedFile.Name & """>" & BrowsedFile.Name & "</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""><DIV ALIGN=""RIGHT"">"
    Response.Write BrowsedFile.Size \ 1024 & "KB"
    Response.Write "</DIV></TD></TR></TABLE>"
    ContainsSomething = "True"
    next
   
    if ContainsSomething <> "True" then
    Response.Write "<TABLE WIDTH=""100%""><TR><TD>There is nothing in this directory.</TD></TR></TABLE>"
    end if
%>

</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<TABLE WIDTH=100% CELLSPACING="0" CELLPADDING="2" BORDER="1" BORDERCOLOR="WHITE" BGCOLOR="BLACK">
<TR><TD>
</TD></TR></TABLE>
</TD></TR></TABLE>
<%
    Set FSO = Nothing
    Set BrowseContents = Nothing
    end if
%>
</BODY>
</HTML>
Avatar billede foxmulder Nybegynder
30. juli 2002 - 10:24 #5
Desværre - :-(

Problemet er, at siden ligger på en server på intranettet (http://skive03/inet/) og de filer og folders som jeg gerne vil have vist ligger på et drev på intranettet (q:\test\web)

Kan det overhovedet lade sig gøre ???

Tak for svarene
Avatar billede bobbedude Nybegynder
30. juli 2002 - 10:33 #6
hmmmmmmm ved det ik
Avatar billede bobbedude Nybegynder
30. juli 2002 - 10:38 #7
det kan lade sig gøre hvis du opretter et web sted som kun kører lokalt med rod i q:\test\web siden skal så kaldes fra en browser med et eller andet IP nummer.
Avatar billede eagleeye Praktikant
30. juli 2002 - 11:11 #8
strien (q:\test\web) skal være en del at dit web sted. Eller kan man ikke se en sti på nettet.
Avatar billede foxmulder Nybegynder
30. juli 2002 - 11:24 #9
Hmm - så kan det ikke lade sig gøre :-(
Jeg har fundet ud af at jeg også kan tilgå q:-drevet således: http://skive02/drev/test/web, - men det løser ikke problemet.

Tak for hjælpen
Avatar billede bobbedude Nybegynder
30. juli 2002 - 11:29 #10
Hvis du kan gå til drevet som du skriver der kan det eagleeye og jeg skrev også lade sig gøre !!
Avatar billede foxmulder Nybegynder
30. juli 2002 - 15:24 #11
Nope :-(
Måske har det noget med rettigheder til folderen at gøre(?) Jeg synes jeg har prøvet alle mulige kombinationer, uden held. Prøv lige at skriv, hvordan du vil skrive sti-navnet.
Jeg får en fejlmeddelelse som siger at

Set objFolder = objFSO.GetFolder("q:\test\web\")

ikke kan gennemføres.
Avatar billede bobbedude Nybegynder
30. juli 2002 - 19:51 #12
HomeDir = "test/web"
Og smid filen i folderen web
Avatar billede foxmulder Nybegynder
31. juli 2002 - 09:29 #13
Problemet er, at jeg ikke kan smide indholdet af q: i min webfolder.
Jeg vil gerne kunne læse indholdet af en folder som ikke ligger i min webfolder, men på en anden server (skive02- også kaldet Q-drevet)

Hvis jeg gør som du har skrevet herover leder den jo i folderen "test/web" på "skive03" - hvor mit site ligger.

Bemærk: der er ikke tale om en internetside, men om en intranetside.

Er der nogen som har en løsning vil jeg hellere end gerne åbne spørgsmålet igen.
Avatar billede bobbedude Nybegynder
31. juli 2002 - 10:00 #14
Du kunne få din administrator til at tilføje Skive03 til din web rod.
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
Kurser inden for grundlæggende programmering

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