Avatar billede taras Nybegynder
09. april 2001 - 12:38 Der er 44 kommentarer og
2 løsninger

hent filnavn

Kan du ikke fortælle mig, hvordan jeg trækker \"filnavnet.endelse\" ud (f.eks. bog.gif) af et fil-formfelt, hvor hele stien i formfeltet f.eks. er c:\\dokumenter\\.....\\images\\bog.gif
Avatar billede spectual Nybegynder
09. april 2001 - 12:42 #1
Prøv den her funktion:

<%
Function GetAnExtension(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAnExtension = fso.GetExtensionName(Drivespec)
End Function

response.write (GetAnExtension (\"e:\\lang.dat\"))
%>

Jeg har testet den og det ser ud til at virke som det skal.
Avatar billede nute Nybegynder
09. april 2001 - 12:43 #2
filnavn = \"c:\\dokumenter\\.....\\images\\bog.gif\"
suffix = RIGHT(filnavn, InStr( filnavn, \".\" )

/nute
Avatar billede nute Nybegynder
09. april 2001 - 12:44 #3
spectual sitt exempel fungerer selvfølgelig kun hvis du benytter FileSystemObject, mens mitt fungerer generelt... :)
Avatar billede nute Nybegynder
09. april 2001 - 12:45 #4
hov...sorry....leste ikke hele spectual sitt exempel...hans metode er god...
Avatar billede spectual Nybegynder
09. april 2001 - 12:52 #5
nute:

jeg vil sige at det er bedre at bruge mit eksempel, fordi jeg tror dit ikke kan håndtere alle filnavne.

F.eks. tror jeg den vil fejle hvis du have en fil der hed:

eksempel.html.htm

Da vil den vist returnere \".html.htm\"
Avatar billede nute Nybegynder
09. april 2001 - 12:56 #6
spectual >> den vil kun returnere .htm, for InStr finner første opptreden av angitte streng (i dette tilfelle et .) i en streng...

/nute
Avatar billede spectual Nybegynder
09. april 2001 - 12:58 #7
ja det er rigtigt nute :)
Avatar billede taras Nybegynder
09. april 2001 - 13:10 #8
<%
Function GetAnExtension(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAnExtension = fso.GetExtensionName(Drivespec)
End Function

response.write (GetAnExtension (\"e:\\lang.dat\"))
%>

denne returnere ikke mit fil-formfelt (name=\"billede\")
Avatar billede taras Nybegynder
09. april 2001 - 13:11 #9
jeg mener navnet på filen i mit fil-formfelt
Avatar billede spectual Nybegynder
09. april 2001 - 13:12 #10
Æh... du har placeret dit spørgsmål forkert så. Det er jo javascript du har brug for så.
Avatar billede spectual Nybegynder
09. april 2001 - 13:14 #11
Ja, eller nute\'s eksempel.
Avatar billede taras Nybegynder
09. april 2001 - 13:16 #12
fordi jeg gerne vil skrive filen\'s navn til min db, så jeg havde forstillede mig, at jeg ville lave en varibel der bestod af filnavn.endelse (f.eks. siden.doc)
Avatar billede nute Nybegynder
09. april 2001 - 13:16 #13
har du testet mitt exempel ??
Avatar billede spectual Nybegynder
09. april 2001 - 13:16 #14
Ellers kan du prøve den her:

Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAName = fso.GetFileName(DriveSpec)
End Function

Avatar billede spectual Nybegynder
09. april 2001 - 13:18 #15
Den faktisk ud til at kunne returnere filnavnet selvom filen ikke eksisterer.
Avatar billede spectual Nybegynder
09. april 2001 - 13:18 #16
Den faktisk ud til at kunne returnere filnavnet selvom filen ikke eksisterer.
Avatar billede spectual Nybegynder
09. april 2001 - 13:18 #17
hovsa
Avatar billede taras Nybegynder
09. april 2001 - 13:28 #18
Jeg tror vi snakker forbi hinanden.....
Mit problem er at når jeg submitter en form:
<form action=\"get_file_name.asp\">, med feltet:
<input type=\"file\" name=\"fil\">, så vil jeg gerne på siden:
\"get_file_name.asp\" kunne hente:
\"filname.extension\" som en variabel fra formelementet \"fil\".
Men hverken nute\'s eller dit eksempel virker når jeg tester det.
Avatar billede spectual Nybegynder
09. april 2001 - 13:32 #19
Ja. Men dette skulle da gerne virke så:

Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAName = fso.GetFileName(DriveSpec)
End Function

filnavn = GetAName (request (\"fil\"))

response.write (\"Filnavn fra formen er : \" & filnavn & \"<br>\")
response.end
Avatar billede spectual Nybegynder
09. april 2001 - 13:33 #20
(det var ellers en god og forståelig forklaring du kom med der)
Avatar billede spectual Nybegynder
09. april 2001 - 13:33 #21
Koden skal sættes ind i get_file_name.asp.
Avatar billede taras Nybegynder
09. april 2001 - 13:39 #22
Det eneste jeg får ud er:

Filnavn fra formen er :

....og mere står der ikke ???

Har du selv testet den ?
Avatar billede taras Nybegynder
09. april 2001 - 13:40 #23
jeg har lige smidt flere point i spørgsmålet, som tak for din tid indtil videre.
Avatar billede spectual Nybegynder
09. april 2001 - 13:47 #24
Nej. Det er sikkert fordi din form ikke får sendt det over til næste side.

Prøv at indsætte følgende istedet for:

Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAName = fso.GetFileName(DriveSpec)
End Function

filnavn = request (\"fil\")

response.write (\"Filnavn fra formen er : \" & filnavn & \"<br>\")
response.end
Avatar billede spectual Nybegynder
09. april 2001 - 13:48 #25
Hvad skriver den?
Avatar billede taras Nybegynder
09. april 2001 - 14:03 #26
Nu henter den jo bare hele felt værdien (c:\\dokumenter\\....\\side.doc), og ikke kun filnavnet (side.doc) ?
Avatar billede spectual Nybegynder
09. april 2001 - 14:05 #27
ja, det var for at se om den fik data fra formen. Jeg tester den lige... :)
Avatar billede spectual Nybegynder
09. april 2001 - 14:11 #28
Følgende virker fint hos mig:

1. fil: Step1.html

<HTML><BODY BGCOLOR=\"#FFFFFF\">
<form action=\"textarea_boldtest.asp\" method=\"post\" name=\"info\">
<input type=\"file\" name=\"fil\"></input>
</form>
<input onClick=\"java script:document.all [\'info\'].submit();\" type=\"button\" value=\"Skaf filnavn\"></input>
</BODY></HTML>

2. fil - step2.asp:

<html><body>
<%
Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAName = fso.GetFileName(DriveSpec)
End Function

filnavn = GetAName (request (\"fil\"))

response.write (\"Filnavn fra formen er : \" & filnavn & \"<br>\")
response.end
%>
</BODY></HTML>

Bruger du forresten pws eller iis?

Avatar billede netsrac Praktikant
09. april 2001 - 14:15 #29
spectual >> GetFileName kan vist kun bruges på filer som er lagret på harddisken ?
Avatar billede spectual Nybegynder
09. april 2001 - 14:16 #30
nej. Det virker selvom den ikke eksisterer. Jeg har prøvet det! :)
Avatar billede spectual Nybegynder
09. april 2001 - 14:17 #31
teras >> Ellers, hvis du ikke kan få det til at virke kan du jo modificere nuke\'s kode lidt til:

filnavn = request (\"fil\")
suffix = RIGHT(filnavn, InStr( filnavn, \"/\" )

Men det er at fortrække at bruge mit eksempel vil jeg tro.
Avatar billede spectual Nybegynder
09. april 2001 - 14:18 #32
Ups, det skal jo selvfølgelig være:

filnavn = request (\"fil\")
suffix = RIGHT(filnavn, InStr( filnavn, \"\\\" )

response.write (\"Filnavn fra formen er : \" & filnavn & \"<br>\")
response.end
Avatar billede taras Nybegynder
09. april 2001 - 14:21 #33
jeg får stadig bare....

Filnavn fra formen er :

???
Avatar billede spectual Nybegynder
09. april 2001 - 14:23 #34
Har du prøvet det nye kode?
Avatar billede spectual Nybegynder
09. april 2001 - 14:23 #35
Kører du Windows 98 eller Windows 2000?
Avatar billede spectual Nybegynder
09. april 2001 - 14:24 #36
Jeg har mistanke til at det ikke virker med Personal Web Server.
Avatar billede taras Nybegynder
09. april 2001 - 14:26 #37
Hov nu virker det.....næsten.

Jeg havde lige lavet en lille fejl selv.

Nu skriver den filename.extension

men der kommer et komma på for enden ?
Avatar billede spectual Nybegynder
09. april 2001 - 14:28 #38
Hvilken af eksemplerne bruger du?
Avatar billede taras Nybegynder
09. april 2001 - 14:31 #39
<html><body>
<%
Function GetAName(DriveSpec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetAName = fso.GetFileName(DriveSpec)
End Function

filnavn = GetAName (request (\"fil\"))

response.write (\"Filnavn fra formen er : \" & filnavn & \"<br>\")
response.end
%>
</BODY></HTML>

Avatar billede spectual Nybegynder
09. april 2001 - 14:34 #40
Kommer der et komma på siger du?

Altså f.eks.:

Filnavn for formen er : test.doc,

Avatar billede taras Nybegynder
09. april 2001 - 14:36 #41
jepper det virker lidt underligt !
Avatar billede nute Nybegynder
09. april 2001 - 14:38 #42
det kan du fjerne sånn:

filnavn = replace(GetAName(request (\"fil\")),\",\",\"\")

/nute

Avatar billede spectual Nybegynder
09. april 2001 - 14:40 #43
Hvis du indsætter denne linje ind lige før den anden response.write, kan du se om det er funktionen der laver det komma:

response.write (request (\"fil\") & \"<br>\")

Avatar billede taras Nybegynder
09. april 2001 - 14:41 #44
Jeg er jer dybt taknemlige !
Avatar billede nute Nybegynder
09. april 2001 - 14:42 #45
anytime ;)
Avatar billede spectual Nybegynder
09. april 2001 - 14:42 #46
skulle det være en anden gang :o)
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