Avatar billede Kim Neesgaard Seniormester
21. maj 2007 - 15:50 Der er 9 kommentarer og
3 løsninger

Kopi af fil fra en webserver til en brugers C-drev

Jeg har genereret en fil på webserveren og har gemt den i et bibliotek på webserveren. Brugeren skulle nu gerne have overført filen fra webserveren til sit C-drev, men hvordan gør man det? Tilsyneladende 'kender' webserveren ikke C-drevet.

Jeg har prøvet at køre dette for at se, om det kunne skabe kontakt (ikke at det der det, den skal gøre):

My.Computer.FileSystem.CopyFile( _
"C:\testFile.txt", _
"C:\NewFile.txt", _
FileIO.UIOption.AllDialogs, _
FileIO.UICancelOption.DoNothing)

men der er slet ikke 'hul'.

Er der en, der ved hvordan?
Avatar billede cablenet.dk Nybegynder
21. maj 2007 - 15:55 #1
Du kan ikke direkte overføre en fil fra webserveren til brugerens drev.. Du er nød til at generere et downloadlink til filen, som brugeren så kan downloade fra.
Avatar billede nielle Nybegynder
21. maj 2007 - 15:57 #2
Det kan du ikke - det er en del af sikkerhedsmodellem omkring ASP.Net at en webserver ikke bare sådan uden vidre kan gemme en fil på brugerens PC. Du bliver nødt til at:

1) gå via en download dialog, eller
2) du er nødt til at have et program installeret på klienten som downloader filen.
Avatar billede Kim Neesgaard Seniormester
21. maj 2007 - 17:01 #3
Ok - det har jeg prøvet nu, men når jeg aflæser stien med HttpContext.Current.Server.MapPath, så aflæses en sti med et drevbogstav og når jeg tilknytter det til linket, så kan den ikke finde filen. Hvordan kan man aflæse unc adressen?
Avatar billede soes Nybegynder
21. maj 2007 - 17:35 #4
Lad os antage at din fil er placeret her: c:\min_nye_fil.txt

Din WebApp er placeret i c:\inetput\wwwroot\mySite\

alt hvad der ligger udenfor \mySite\ kan ikke tilgåes af klienter (browser) der forsøger at download noget indhold.

Det du kan overveje at gøre er at lave en folder i \mySite\ f.eks.
c:\inetpub\wwwroot\mySite\yourFiles\

i yourFiles vil du du så placere den fil brugeren skal hente. Så når du via en explorer kigger på din fil vil du se følgende:
c:\inetpub\wwwroot\mySite\yourFiles\min_nye_fil.txt

når du nu skal linke til din tekst fil kan du lave et link der ser sådan her ud
http://www.myDomain.dk/yourFiles/min_nye_fil.txt
Avatar billede Kim Neesgaard Seniormester
22. maj 2007 - 14:45 #5
soes -> Ok - det har jeg forsøgt. Men jeg har problemer med at generere http stien - hvordan gør man det? Stien med drevet i, kan jeg finde med HttpContext.Current.Server.MapPath - er der ikke en pendant med http stien, som man kan tildele linket?
Avatar billede neoman Novice
22. maj 2007 - 14:53 #6
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/yourFiles/min_nye_fil.txt">eksempel fil</asp:HyperLink>

eller i code-behind:

HyperLink1.NavigateUrl = "~/yourFiles/min_nye_fil.txt"
Avatar billede Kim Neesgaard Seniormester
28. maj 2007 - 12:03 #7
Så virker det!! Mange tak! Vil I ikke alle give et svar - alle indlæg har været nyttige.
Avatar billede nielle Nybegynder
28. maj 2007 - 14:24 #8
Svar :^)
Avatar billede neoman Novice
28. maj 2007 - 18:00 #9
svar2
Avatar billede soes Nybegynder
28. maj 2007 - 19:00 #10
jeg springer over
Avatar billede cablenet.dk Nybegynder
28. maj 2007 - 21:32 #11
Et lille svar :)
Avatar billede cablenet.dk Nybegynder
28. maj 2007 - 21:32 #12
Svar*
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