Avatar billede lasserasch Juniormester
13. maj 2009 - 16:47 Der er 2 kommentarer og
1 løsning

Dokument til stream og omvendt i asp.net

Hejsa.

Jeg står og skal til at finde ud af hvordan pokker man bedst gør følgende, og kunne godt bruge lidt input.

1. På min webserver ligger der en mappestruktur som f.eks. kunne være : "c:\data\dokumenter\". I denne mappe struktur ligger der forskellige dokumenter som nogle interne brugere oploader via noget FTP.

2. I en web applikation som ligger på samme server men i en seperat mappestruktur (f.eks. c:\inetpub\wwwroot\website\) logger jeg brugere ind via et eget udviklet brugerobjekt. Brugere har altså ikke fysiske brugerkonti på serveren som jeg kunne styre nogle rettigheder med eller lign.

3. Alt efter hvilken bruger der er logget ind skal han kunne downloade nogle af de dokumenter fra punkt 1. Ikke alle sammen, kun nogle af dem. Og det er forskelligt fra bruger til bruger hvilke dokumenter han skal have adgang til.

Alt dette styres via noget logik omkring navngivningen af dokumenterne. Så alt efter hvilken brugertype der logger ind, vil han skulle kunne downloade nogle bestemte dokumenter som indeholder noget bestemt i filnavnet.

4. Jeg har altså som det første brug for på en eller anden måde at kunne lave noget kode som fyres af når brugeren logger ind. Det skal kunne læse ned i "c:\data\..." mappen og browse dokumenterne igennem. Det er ikke så svært skulle jeg mene, så den del har jeg ikke brug for hjælp til.

Det jeg har lidt problemer med er når brugeren skal downloade et af dokumenterne.

Så har jeg brug for en måde at kunne læse dokumentet via noget kode fra serveren ind i et stream og så herefter kunne omdanne det stream til et dokument, asmx eller lign. som så kan downloades af/præsenteres for brugeren.

Nogen der har et eksempel eller input til hvordan det kan gøres?

Mvh.
Lasse
Avatar billede aaberg Nybegynder
13. maj 2009 - 20:57 #1
Hvis jeg forstår dig korrekt, behøver du ikke at putte dokumenterne ind i en stream.

Følgende C# kode, vil sende en fil til klienten:

this.Response.ContentType = "application/octet-stream";
this.Response.AddHeader("Content-Disposition", "attachment; filename=filnavn.doc");
this.Response.WriteFile("c:\\data\\dokumenter\\dokument1.doc");

Hvis du kombinere denne stump kode med en liste av LinkButtons (en LinkButton per dokument), så vil jeg tro du kan få det til at virke.
Avatar billede lasserasch Juniormester
11. oktober 2010 - 21:18 #2
smid svar for points
Avatar billede aaberg Nybegynder
11. oktober 2010 - 21:21 #3
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