Avatar billede henrik2000 Nybegynder
25. januar 2001 - 15:49 Der er 16 kommentarer og
1 løsning

server.urlencode...

Hej!

jeg har problemer med at åbne filer med mellemrum og andre \"ulovlige\" tegn i filnavnet i Netscape. Det kan løses med en funktion der hedder server.urlencode. Jeg har prøvet forskellige ting, men ikke noget der virker.

Er der nogen der har et kodeeksempel på hvordan det fungere???
Avatar billede tpiil Nybegynder
25. januar 2001 - 15:51 #1
<%=Server.HTMLencode(rs(\"felt\"))%>
Avatar billede henrik2000 Nybegynder
25. januar 2001 - 15:55 #2
Det er nu URLencode jeg mener og ikke HTMLencode...

Her er min kodelinie som fejler:

Response.Write \"<a href=\'stipaa_server/\" & rs(\"filnavn\") & \"\'>Læs mere...</a>\"

Hvordan skal det løses???                               
Avatar billede nil.dk Nybegynder
25. januar 2001 - 16:03 #3
Response.Write \"<a href=\'\" & Server.URLEncode(\"stipaa_server/\") & rs(\"filnavn\") & \"\'>Læs mere...</a>\"
Avatar billede nil.dk Nybegynder
25. januar 2001 - 16:03 #4
Sorry, det må være:

Response.Write \"<a href=\'stipaa_server/\" & Server.URLEncode(rs(\"filnavn\")) & \"\'>Læs mere...</a>\"
Avatar billede henrik2000 Nybegynder
25. januar 2001 - 16:03 #5
Her er de 2 jeg har prøvet med - og det virker ikke rigtigt endnu...

Response.Write \"<a href=\'stipaa_server/\" & server.URLEncode(rs(\"filnavn\")) & \"\'>Læs mere...</a>\"                               
                                Response.Write \"<a href=\'stipaa_server/\" & rs(URLEncode(\"filnavn\")) & \"\'> Læs mere...</a>\"


Avatar billede sone Nybegynder
26. januar 2001 - 08:28 #6
Response.Write \"<a href=\'stipaa_server/\" & server.URLEncode(rs(\"filnavn\")) & \"\'>Læs mere...</a>\"
burde virke. Hvilke special-tegn indeholder filnavn?

Hvis det skal være helt rigtigt, så er URLencode beregnet til at encode parametre - ikke selve filnavnet.
Avatar billede henrik2000 Nybegynder
26. januar 2001 - 08:31 #7
Ja, det burde virke!

Det eneste jeg faktisk har testet med er filnavne med mellemrum. pdf-filer, altså binære data, men det skulle vel ikke betyde noget...

Avatar billede sone Nybegynder
26. januar 2001 - 09:16 #8
Det går galt hvis dit filnavn (i databasen) indeholder tegn som . / osv.
Hvis det kun er mellemrum som er problemet, så bør du overveje replace(filnavn, \" \", \"+\")
Avatar billede henrik2000 Nybegynder
26. januar 2001 - 10:17 #9
Jeg skriver hele filnavnet ned i datbasen, også filendelsen, f.eks. test.pdf.

Derfor indeholder filnavnet i databasen jo så et punktum. Skulle det så kunne løse problemet ved at lade være med at skrive filendelsen ned i databasen???
Avatar billede nil.dk Nybegynder
26. januar 2001 - 10:22 #10
Jo.. så kan du jo bare skrive følgende i koden:

Response.Write \"<a href=\'stipaa_server/\" & server.URLEncode(rs(\"filnavn\")) & \".pdf\'>Læs mere...</a>\"
Avatar billede henrik2000 Nybegynder
26. januar 2001 - 10:51 #11
Jeg får stadig den samme fejl i netscape, og det er:

HTTP Error 400

400 Bad Request

Due to malformed syntax, the request could not be understood by the server. The client should not repeat the request without modifications.

Jeg går ud fra at det stadig er filnavnet den ikke forstår???

Når man pejer(holder musen over) linket, viser den filnavnet rigtigt, altså med et mellemrum. Du kan godt klikke på det i explorer, og her virker det, men ikke i netscape, der får man ovenstående fejl...


Avatar billede nil.dk Nybegynder
26. januar 2001 - 10:54 #12
Prøv engang at lave et link til noget andet end en pdf-fil.. jeg har før haft problemer med links til pdf-filer i Netscape.
Avatar billede henrik2000 Nybegynder
26. januar 2001 - 10:56 #13
jeg har prøvet med en txt-fil også. Jeg har skrevet test fredag ned i databasen manuelt, lagt filen op på serveren, og ændret på visningssiden så den viser dette her:

Response.Write \"<a href=\'stipaa_server/\" & server.URLEncode(rs(\"filnavn\")) & \".txt\'>Læs mere...</a>\"

Linket ser som sagt rigtigt ud, men det virker altså ikke....
Avatar billede henrik2000 Nybegynder
26. januar 2001 - 11:12 #14
Det ser ud til at det kun er mellemrum i filnavnet der er problemer med, ikke andre tegn. Men det kan Netscape åbenbart ikke klare, så det er der vel ikke noget at gøre ved...

Avatar billede nil.dk Nybegynder
26. januar 2001 - 11:14 #15
brug _ i stedet for mellemrum
Avatar billede sone Nybegynder
26. januar 2001 - 11:18 #16
Mellemrum i URL i Netscape - erstat mellemrum med %20
Avatar billede henrik2000 Nybegynder
01. februar 2001 - 13:48 #17
jeg troede det var nok at bruge server.urlencode, men man skal åbenbart erstatte mellemrum med %20 - det kan server.urlencode ikke klare uden!...

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