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.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Du kan bruge en Response.ContentType
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..
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 %>
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 %>
larsen -> Din siger cannot open... ellebaek -> Tak det virker bare perfekt.
Smid svar begge 2 så kan i dele...
08. juni 2004 - 22:38
#10
velbekomme ;-)
Kurser inden for grundlæggende programmering