Avatar billede Søren Bech Morsing Praktikant
13. maj 2002 - 14:20 Der er 9 kommentarer og
2 løsninger

gem fil i stedet for at vise den (tekst fil navngivet *.dat)

Jeg laver en tekstfil og gemmer den som xxx.dat på min webserver, nu vil jeg så gerne tilbyde nogle at de kan hente filen, men browseren viser bare xxx.dat i browseren, sikkert fordi det er ren tekst den indeholder.

Jeg bruger
<%Response.Redirect("xxx.dat")%>
Og så kommer filen, jeg vil gerne have det så brugeren bliver bedt om at gemme filen i stedet (da den indeholder en masser ordre linier)
Avatar billede dk_akj Nybegynder
13. maj 2002 - 14:37 #1
Prøv lige at give filen et andet "efternavn" f.eks xyz
Avatar billede Søren Bech Morsing Praktikant
13. maj 2002 - 14:42 #2
... probs... den skal hedde .dat for den er til et system som kun forstår filer med navnet xxx.dat
hmmm
Avatar billede Søren Bech Morsing Praktikant
13. maj 2002 - 14:43 #3
hjalp hellere ikke.. har prøvet
Avatar billede dk_akj Nybegynder
13. maj 2002 - 14:50 #4
Så har jeg desværre ikke lige nogen løsning. Og dog, man ser jo mange steder "right click and select save target as".... men det er vist ikke det du er ude efter
Avatar billede _just4fun_ Nybegynder
13. maj 2002 - 14:52 #5
Du kan prøve at sætte contenttype til:
Response.contenttype = "application/octet-stream"

På den måde foreslår du til browseren hvad der kommer. Og octet-stream er bare en stream af udefinerbart materiale. Problemet er at browseren ikke BEHØVER at lytte efter denne contenttype.. IE f.eks. læser i nogle tilfælde lidt af filen før den bestemmer sig for hvordan den vil behandle filen. Dette er grunden til at IE er ligeglad med hvilken extention du laver... hvis den kan 'læse' sig til at det er en plain-text fil, så fortolker IE filen som en sådan.
Avatar billede Søren Bech Morsing Praktikant
13. maj 2002 - 15:02 #6
Response.contenttype = "application/octet-stream"

hvor skal dette stå?
Ikke i min xxx.dat fil - vel? for der kan den vel ikke fortolke det.
Avatar billede dk_akj Nybegynder
13. maj 2002 - 15:04 #7
da det er en proberty på responseobjectet vil jeg mene at du skal sætte det lige inden din response.redirect
Avatar billede Søren Bech Morsing Praktikant
13. maj 2002 - 15:08 #8
Æv æv æv... nå, jeg leder videre...
måske kommer der flere
Avatar billede _just4fun_ Nybegynder
13. maj 2002 - 15:13 #9
errggh nop! Det skal sættes inde i iisopsætngen under HTTP-Headers. Man kan også åbne filen via asp, og så streame den ud, byte for byte. Se
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q193998
/J
Avatar billede Søren Bech Morsing Praktikant
29. august 2002 - 08:10 #10
løsning: gem fil, lav link, højreklik på link og vælg gem som.

Problemet med alle de andre løsninger: notepad var sat til at åbne filer af typen .dat og .dat filen indeholdt ren tekst, og det forstod browseren jo, og så åbnede den bare
Avatar billede skovgaard3 Nybegynder
12. maj 2003 - 02:16 #11
Sæt disse to properties:

Response.ContentType = "file/text"
Response.AddHeader "content-disposition","attachment; filename=ditfilnavn.txt

Det løser problemet og du kan selv vælge dit filnavn.
Så kører du bare din fil ud med Response.Write el. Response.BinaryWrite

-CS
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