Avatar billede boomshanka Nybegynder
30. november 2009 - 15:27 Der er 8 kommentarer og
1 løsning

Linke til fil på fælles server med mellemrum i navnet

Hej eksperter,

Det kan godt være det virker som en sikkerhedsbrist, men når dette nu virker fint:

<a href="file:\\(shared drive):\temp\myfile.txt">myfile.txt</a>

hvorfor skulle dette så ikke virke:

<a href="file:\\(shared drive):\temp\my file.txt">myfile.txt</a> (med mellemrum i filnavnet hvis det ikke lige er til at se)

Sidstnævnte virker ikke fordi mellemrum oversættes til %2520 og det får linket til at fejle. Med risikoen for at starte en offentlig stening, er der så nogen som har et tip til at få sidstnævnte eksempel til at virke med C#?
Avatar billede gadensgaard Nybegynder
30. november 2009 - 15:32 #1
%20 plejer at være mellemrum, prøv at linke til my%20file.txt
Avatar billede boomshanka Nybegynder
30. november 2009 - 16:03 #2
Nix, den virkede heller ikke...

Kan det være det afhænger af browseren? Det ser jo ud til '&' bliver oversat uanset hvordan jeg vælger at escape den.
Avatar billede Syska Mester
01. december 2009 - 10:34 #3
Avatar billede boomshanka Nybegynder
03. december 2009 - 12:58 #4
Desværre, endnu en nitte...

Jeg tror heller ikke UrlEncode er vejen frem da det bliver kaldt fra HttpUtility som opererer med web requests. Selve linket peger ned på en fil i det fysiske filsystem (altså udenfor en HttpContext og i en ikke-virtuel mappe) og jeg tror det er her problemet ligger. UrlEncode ville ikke vide hvordan mellemrummet skulle oversættes til en gyldig fil-sti.
Avatar billede Syska Mester
03. december 2009 - 13:33 #5
Ja ...

Men hvad browsere virker og hvad for nogle fucker ?

Nok IE der virker og andre der ikke virker eller ?

More info ...

// ouT
Avatar billede boomshanka Nybegynder
03. december 2009 - 14:00 #6
Det fejler i både IE 8 (med og uden compatibility view) og Firefox 3.5.3, men i mit tilfælde opstår problemet på et intranet med IE som standard-browser
Avatar billede boomshanka Nybegynder
03. december 2009 - 14:31 #7
Så fandt jeg et workaround...

Hvis det fælles drev ikke er mappet på serveren giver det følgende resultat:

<a href="file:\\(shared drive):\temp\my file.txt">my file.txt</a>
bliver til file:\\(shared drive):\temp\my%2520file.txt

Hvis man derimod dropper drev-bogstavet og peger direkte på serveren er det en anden historie:

<a href="file:\\(server name):\temp\my file.txt">my file.txt</a>
bliver til file:\\(server name):\temp\my%20file.txt

Begge eksempler virker hvis filen ikke har mellemrum i filnavnet, mens kun sidstnævnte virker med mellemrum i filnavnet.

Jeg kan ikke helt forklare hvorfor dette er tilfældet, men resultatet er der...
Avatar billede boomshanka Nybegynder
14. marts 2010 - 19:08 #8
En hurtig kommentar: Dette vil forekomme hvis man bruger HyperLink server control. Bruger man istedet en anchor HTML control bliver linket oversat korrekt.
Avatar billede boomshanka Nybegynder
27. marts 2010 - 21:12 #9
.
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