Avatar billede pernille_bergman Nybegynder
12. december 2003 - 14:52 Der er 4 kommentarer og
1 løsning

Download fra site til client

Hej eksperter,

Jeg skal fra et intranet kunne downloade filer til brugeren maskiner. Jeg har indtil videre kommet frem til denne kode:

string path = Server.MapPath(@"File.doc");
            FileStream objFileStream= new FileStream(path,FileMode.Open);
            int FilStorrelse = (int)objFileStream.Length;
            byte[] Buffer = new byte[FilStorrelse];
            objFileStream.Read(Buffer, 0, FilStorrelse);
            objFileStream.Close();
            Response.ContentType = "application/octet-stream";
            Response.AddHeader("content-disposition","filename=foo.doc");
            Response.BinaryWrite(Buffer);
           
Men denne kode åbner kun filen i brugerens word og det er desuden i readonly format. Det jeg vil have den til er at kopiere filen ned på klienten på en bestemt placering, så den er gemt der, og derfra åbne den.

PS.
Hvis der er sikkerhedsmæssige problemer med at gemme på klienterne, må løsningen gerne kræve noget installeret på klienterne, da det bare er brugere af vores eget netværk der skal have filerne downloadet.
Avatar billede arne_v Ekspert
12. december 2003 - 15:09 #1
Den er lidt svær.

Du gør nemlig det rigtige.

Internet Explorer gør det forkerte.

Den ignorerer content type og bruger fil extension.

Du kan prøve at eksperimentere med at kalde filen noget andet end .doc
men staig angive content disposition til en fil med .doc.

Eller du kan skrive en lille applikation som downloader og altid
gememr osm fil.
Avatar billede pernille_bergman Nybegynder
12. december 2003 - 16:08 #2
Ok, så hvis ikke den ignorerede content type, så ville den GEMME filen på klienten?
Avatar billede arne_v Ekspert
12. december 2003 - 16:13 #3
Ja.

application/octet-stream skal gemmes ifølge standard opførsel
Avatar billede pernille_bergman Nybegynder
16. december 2003 - 11:35 #4
...
Avatar billede pernille_bergman Nybegynder
16. december 2003 - 14:13 #5
Jeg har fundet løsningen.
Der skal stå :
Response.AddHeader ("content-disposition", "attachment;filename=File.doc");
Istedet for:
Response.AddHeader("content-disposition","filename=foo.doc");
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