Toon posts:

[asp] Geforceerde download

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende script geschreven om een download te forceren zodat een PDF niet standaard in je browser wordt geopend maar je de optie hebt om 'm te save as...
Ik zie iets over het hoofd waardoor ie in IE niet werkt. In Firefox werkt ie prima.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<%@LANGUAGE="VBSCRIPT"%>
<!-- #include file="../db/connect.asp" -->
<% 

    Dim strFileName
    Dim strDate
    Dim strQuery
    
    strFileName = Request.QueryString("filename")
    strDonwload = Request.QueryString("download")
    strDate = right(cStr(day(date)+100),2) & "-" & right(cStr(month(date)+100),2) & "-" & year(date) & " " & right(cStr(hour(now)+100),2) & ":" & right(cStr(minute(now)+100),2) 

    If Session("vendor") = 1 Then
        strDate = strDate & " Leverancier"
    End If
    
    If strDownload = 1 Then
        ' db connection
        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.open strConnectionString

        ' mark the file as downloaded
        strQuery = "UPDATE files SET date_downloaded='" & strDate & "' WHERE filename='" & strFileName & "' AND project_id=" & Session("project_id")
        objConn.Execute(strQuery)
        objConn.Close
        Set objConn = nothing
    End If
        
    Response.ContentType = "application/asp-unknown"
    Response.AddHeader "content-disposition","attachment; filename=" & strFileName
    Set FStream = Server.CreateObject("ADODB.Stream")
    FStream.Open()
    FStream.Type = 1
    FStream.LoadFromFile(filePath&filename)
    Response.BinaryWrite FStream.Read()
    FStream.Close
    Set FStream = Nothing
    Response.End
%>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Welke versie van IE, zowel IE 5.5 als 6.0?

Verder is het normale filetype om te gebruiken Content-Type: application/octet-stream ipv asp-unknown.

[ Voor 56% gewijzigd door gorgi_19 op 10-12-2004 11:53 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ik gebruik IE 6 om te testen.
Ook met application/octet-stream krijg ik het niet aan de praat.

Ik heb de regel Response.ContentType = "application/octet-stream"
boven in het script gezet maar dat wil ook niet helpen.

Mij een raadsel ???

[ Voor 45% gewijzigd door Verwijderd op 10-12-2004 12:02 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Trouwens, even helemaal offtopic, maar je applicatie is redelijk gevoelig voor SQL Injection Attacks.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ik ben nog niet zolang met asp bezig, dus alle adviezen en tips zijn welkom.

[ Voor 6% gewijzigd door Verwijderd op 10-12-2004 12:05 ]


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

hmm, ik heb een vergelijkbaar script en de enige verschillen die ik kan vinden zijn :
code:
1
response.buffer=false

en
code:
1
Response.AddHeader "content-length", objStream.Size


mijn code:
code:
1
2
3
Response.contenttype = "application/octet-stream"
Response.AddHeader "content-length", objStream.Size
Response.Addheader "Content-Disposition", "attachment; filename=""" & sfile & ""

kaart != map && bottel != fles
Wacht op antwoord

Pagina: 1