Avatar billede pfp Nybegynder
08. juni 2004 - 22:12 Der er 8 kommentarer og
2 løsninger

Tvungen download

Hej,

Jeg har lavet et ASP script der gemmer noget data fra en database i en .txt gennem fso.

Når fso er færdig med at skrive i min fil vil jeg gerne have den til komme frem med download dialogboksen for den fil jeg lige har genereret.

Jeg havde tænkt at kalde:
Response.Redirect "download.asp?file=" & filename

der hvor jeg er færdig med at skrive i filen...så er spørgsmålet bare hvad download.asp skal indeholde for at fremtvinge dialogboksen :)

Vil blive meget glad, hvis der en der har et tip.
Avatar billede larsen Nybegynder
08. juni 2004 - 22:17 #1
Du kan bruge en Response.ContentType
Avatar billede pfp Nybegynder
08. juni 2004 - 22:20 #2
Hvordan skal den bruges?

Jeg har forsøgt med følgende indhold i min download.asp:

<%
strFile = Request.QueryString("file")
strFile = "attachment;filename=" & strFile
Response.ContentType = "text/plain"
Response.AddHeader "content-disposition", strFile
%>

Den kommer også frem dialogboksen, men indholdet af tekstfilen er tom. Men hvis jeg går ind og åbner tekstfilen manuelt er den ikke tom..
Avatar billede larsen Nybegynder
08. juni 2004 - 22:28 #3
Det er fordi du ikke får filen indlæst.

Prøv med :

<%
strFile = Request.QueryString("file")
Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile strFile
Select Case UCase(Right(strFile,3))
    Case "PDF"
        Response.ContentType = "application/pdf"
    Case "TXT"
        Response.ContentType = "text/plain"
End Select
Response.AddHeader "content-disposition", "attachment;filename=" & strFile
Response.BinaryWrite st.Read()
st.Close ' Luk Stream-objektet
Set st = Nothing ' Ryd op
Response.End ' Afslut scriptet
%>
Avatar billede ellebaek Nybegynder
08. juni 2004 - 22:30 #4
Jeg plejer at bruge det her...

Så skal du bare lige tilpasse mappen hvor dine filer ligger i den her linie: filename = server.mappath("filer/" & shortfn)

<%
Response.Expires = -1

Dim filename
Dim shortfn

shortfn = request.querystring("file")
filename = server.mappath("filer/" & shortfn)

Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Open
  Const adTypeBinary = 1
  objStream.Type = adTypeBinary
  objStream.LoadFromFile Replace(filename,"/","\") 
  Response.AddHeader "Content-Disposition", "attachment;filename=" & shortfn
  Select Case right(filename,3)
          Case "asf"
              ContentType = "video/x-ms-asf"
          Case "avi"
              ContentType = "video/avi"
          Case "doc"
              ContentType = "application/msword"
          Case "zip"
              ContentType = "application/zip"
          Case "xls"
              ContentType = "application/vnd.ms-excel"
          Case "gif"
              ContentType = "image/gif"
          Case "jpg", "jpeg"
              ContentType = "image/jpeg"
          Case "wav"
              ContentType = "audio/wav"
          Case "mp3"
              ContentType = "audio/mpeg3"
          Case "mpg", "mpeg"
              ContentType = "video/mpeg"
          Case "rtf"
              ContentType = "application/rtf"
          Case "htm", "html"
              ContentType = "text/html"
          Case "asp"
              ContentType = "text/asp"
          Case Else
              'Handle All Other Files
              ContentType = "application/octet-stream"
  End Select

  Response.ContentType = ContentType

 
  Response.BinaryWrite objStream.Read
%>
Avatar billede pfp Nybegynder
08. juni 2004 - 22:33 #5
larsen -> Din siger cannot open...

ellebaek -> Tak det virker bare perfekt.
Avatar billede pfp Nybegynder
08. juni 2004 - 22:34 #6
Smid svar begge 2 så kan i dele...
Avatar billede ellebaek Nybegynder
08. juni 2004 - 22:35 #7
et svar ;-)
Avatar billede larsen Nybegynder
08. juni 2004 - 22:36 #8
et svar til :-)
Avatar billede pfp Nybegynder
08. juni 2004 - 22:37 #9
Tak til jer begge.
Avatar billede ellebaek Nybegynder
08. juni 2004 - 22:38 #10
velbekomme ;-)
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging