Avatar billede sansalvador Nybegynder
03. september 2002 - 22:19 Der er 21 kommentarer og
1 løsning

Indhold af mappe ud i dropdown ...

Hvis man nu vil have indholdet af en mappe på en hjemmeside til at lægge sig i en lang liste i en dropdown liste ...

Hvordan gør man det ?
Avatar billede eagleeye Praktikant
03. september 2002 - 22:25 #1
Jeg har dette eks som liste alle billede filer i en valgt folder

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("..\images"))
%>
<tr>
<td align=right valign="top">image file:</td>
<td align=left valign="top">
<SELECT name="image" size="1" cols="40">
<option value="" <% if Server.HTMLEncode(image & "")="" then Response.Write " selected"%>>Ingen billede</option>
<% For Each objFile in objFolder.Files %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%>
<% next
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
</td></tr>
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:36 #2
Lige et spørgsmål ..

Hvis billederne befinder sig i samme mappe som asp-filen (i roden), så er det sådan her ikke?

Set objFolder = objFSO.GetFolder(Server.MapPath("\"))

Men jeg kan sq ikke få noget frem i dropdown menuen ..... nogen forslag til hvad der kan være galt ?!
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:36 #3
Den siger bare "Ingen billede" Og "ingen billede" står UDENFOR dropdown boxen .. er dette meningen ?
Avatar billede eagleeye Praktikant
03. september 2002 - 22:39 #4
Der var også en lille fejl i koden men dropdown box skal være på en form Prøv denne kode:


<table>
<form>
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("..\images"))
%>
<tr>
<td align=right valign="top">image file:</td>
<td align=left valign="top">
<SELECT name="image" size="1" cols="40">
<option value="">Ingen billede</option>
<% For Each objFile in objFolder.Files %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%>
<% next
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
</td></tr>
</form>
</table>
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:45 #5
selve "designet" virker fint nu .. men den kan dælme ikke finde nogen billeder ... nogen forslag ?! Jeg har stadig mine filer til at lægge i roden ... som jpg filer ...
Avatar billede eagleeye Praktikant
03. september 2002 - 22:46 #6
i Så prøv denne:

Set objFolder = objFSO.GetFolder(Server.MapPath("\"))
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:48 #7
Nej .. stadig ingen billeder i sigte ... hmm
Avatar billede eagleeye Praktikant
03. september 2002 - 22:51 #8
Ingen filer overhoved?
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:54 #9
nej .. den viser bare "Ingen billede"

Jeg prøvede at køre en Response.Write på variablen objfolder ... der kom intet .. ved ikke om det har noget med sagen at gøre ...
Avatar billede eagleeye Praktikant
03. september 2002 - 22:55 #10
Den lister alle filer i folderen både billede filer og andre, husk at trykker på pillen på dropdown boxen for at se listen.
Avatar billede eagleeye Praktikant
03. september 2002 - 22:56 #11
HVis du skriver:  Response.Write objFolder  så skriver den bare navnet på den folder som objFolder peger på.
Avatar billede sansalvador Nybegynder
03. september 2002 - 22:57 #12
hehe jaja .. faktisk så har jeg "foldet" den helt ud ..
Avatar billede eagleeye Praktikant
03. september 2002 - 23:02 #13
Prøv lige at vis din kode..
Avatar billede sansalvador Nybegynder
03. september 2002 - 23:04 #14
Der er inkluderet lidt javascript i select forme´n .. burde ikke ødelægge noget...

<FORM NAME=myForm>

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("\"))
%>


<SELECT NAME=myImg onChange=changePreview() size="12" style="border:1px solid #ECE9E1; background-color: #ECE9E1">

<option value="blank.gif">Ingen billede</option>
<% For Each objFile in objFolder.Files %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%>
<% next
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
Avatar billede eagleeye Praktikant
03. september 2002 - 23:08 #15
Jeg har prøvet at copy/paste koden og den lister alle filerne i roden..:


<FORM NAME=myForm>

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("\"))
%>


<SELECT NAME=myImg onChange=changePreview() size="12" style="border:1px solid #ECE9E1; background-color: #ECE9E1">
<option value="blank.gif">Ingen billede</option>
<% For Each objFile in objFolder.Files %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%></option>
<% next %>
</select>
<%
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
</form>
Avatar billede sansalvador Nybegynder
03. september 2002 - 23:14 #16
Nej virker stadigvæk ikke selvom jeg paster ovenstående ind ... Har lige prøvet et alternativ - meget magen til dit, men med samme problem: Der kommer ingenting i Dropdownen ...

Kan det være en serverindstilling ? Jeg bruger IIS 5 ... (er det vist nok)
Avatar billede eagleeye Praktikant
03. september 2002 - 23:17 #17
Internet Guest Account / IUSR_MASHINENAME skal havde læse rettigtheder for det viker til root... men det er vist default.
Avatar billede sansalvador Nybegynder
03. september 2002 - 23:17 #18
Jeg fandt fejlen ... Idioten (det vil så være mig) havde ikke omdøbt min fil til *.asp da jeg begyndte at rode med asp ..... Min fejl .. undskylder ! :)
Avatar billede eagleeye Praktikant
03. september 2002 - 23:23 #19
Ok ;)

Den lister alle filer ikke kun billede filer.... Hvis den kun skal vise billede filer som .gif, .jpg, og .jpeg så skal du havde en if sætnigne omkring sådan her:


<FORM NAME=myForm>

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("\"))
%>


<SELECT NAME=myImg onChange=changePreview() size="12" style="border:1px solid #ECE9E1; background-color: #ECE9E1">
<option value="blank.gif">Ingen billede</option>
<% For Each objFile in objFolder.Files
if (inStr(1, objFile.Name, ".gif",1) > 0) OR (inStr(1, objFile.Name, ".jpg",1) > 0) OR (inStr(1, objFile.Name, ".jpeg",1) > 0) then  %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%></option>
<% end if
  next %>
</select>
<%
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
</form>
<FORM NAME=myForm>

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("\"))
%>


<SELECT NAME=myImg onChange=changePreview() size="12" style="border:1px solid #ECE9E1; background-color: #ECE9E1">
<option value="blank.gif">Ingen billede</option>
<% For Each objFile in objFolder.Files
if (inStr(1, objFile.Name, ".gif",1) > 0) OR (inStr(1, objFile.Name, ".jpg",1) > 0) OR (inStr(1, objFile.Name, ".jpeg",1) > 0) then  %>
  <option value="<%=objFile.Name%>"><%=objFile.Name%></option>
<% end if
  next %>
</select>
<%
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
%>
</form>
Avatar billede eagleeye Praktikant
03. september 2002 - 23:25 #20
ups jeg fik trykket på to gange på paste, så du skal kun bruge halv delen fra:

<FORM NAME=myForm>
..
..ned til..
..
</form>
Avatar billede sansalvador Nybegynder
03. september 2002 - 23:26 #21
Rigtig mange tak !
Avatar billede hohn Nybegynder
18. marts 2003 - 11:50 #22
Hej Eagleeye

Tak for ovenstående script - har du en fiks måde hvorpå man kan se et preview af den fil man vælger fra folderen?

Hilsen
Hohn
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