aspgerman  

[aspgerman] RE: Datei erzwungen Downloaden

Eigenseder Christoph ETR.ETT1
Mon, 18 Nov 2002 03:26:45 -0800

Hubert Daubmeier hat mir dieses Script geschickt [sendfile.asp].
Danke Hubert, nur geht leider auch nicht. Ich bekomme die gleiche Fehlermeldung.

mfg
Christoph Eigenseder



[sendfile.asp]
<%
  call downloadFile(replace(replace(Request("file"),"\",""),"/",""))  
   
  Function downloadFile(strFile)  
    strFilename = server.MapPath(strFile)  
     
    Response.Buffer = True  
    Response.Clear  
     
    Set s = Server.CreateObject("ADODB.Stream")  
    s.Open  
    s.Type = 1  ' Set as binary  
    
    ' on error resume next  
     
    ' --- check the file exists  
    Set fso = Server.CreateObject("Scripting.FileSystemObject")  
    If Not fso.FileExists(strFilename) then  
      Response.Write("<h1>Error:</h1>" & strFilename & " does not exist<p>")  
      Response.End  
    End If  
     
    ' --- get length of file  
    Set f = fso.GetFile(strFilename)  
    intFilelength = f.size  

    s.LoadFromFile(strFilename)  
    if err then  
      Response.Write("<h1>Error: </h1>" & err.Description & "<p>")  
      Response.End  
    end if  
     
    ' --- send the headers to the users browser  
    Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name  
    Response.AddHeader "Content-Length", intFilelength  
    Response.CharSet = "UTF-8"  
    Response.ContentType = "application/octet-stream"  
     
    ' --- output the file to the browser  
    Response.BinaryWrite s.Read  
    Response.Flush  
     
    ' --- tidy up  
    s.Close  
    Set s = Nothing  
  End Function
%>

-----Original Message-----
From: Eigenseder Christoph ETR.ETT1 
Sent: Monday, November 18, 2002 10:20 AM
To: ActiveServerPages German
Subject: [aspgerman] Datei erzwungen Downloaden


Hallo,

das Thema hat schon einen Bart, ist mir klar. Ich bekomm's aber trotzdem nicht hin.
Mein Problem:
Ich erstelle gerade einen Eventkalender, der die Funktion bieten soll Eventtermine in 
Outlook zu übernehmen.
Dazu erstelle ich im Hintergrund ein *.ics - File,  das dann heruntergeladen werden 
soll. Dieses ics- File wird dynamisch erstellt, wenn ein User auf den "Outlook-Link" 
klickt. Soweit funktioniert auch alles prima.

Wenn ich jetzt den Link anwähle, fragt mich mein IE (6.0) ob ich das File Öffnen oder 
Speichern möchte, doch egal welche der beiden Funktionen ich anwähle, es kommt die 
Fehlermeldung:
"event2outlook.asp?eid=5 von server kann nicht übertragen werden.
Die Internetseite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder 
konnte nicht gefunden werden. Versuchen sie es später erneut."

Ich habe erst gedacht, es hat etwas mit dem Contenttyp zu tun. Also hab ich das ganze 
zu testen so umgebaut, dass eine gif-Grafik heruntergeladen wird. Aber auch hier 
bekomme ich die gleich Fehlermeldung.
Auch wundert mich der Filename "event2outlook.asp...", denn eigentlich gebe ich dem 
Script an wie das File benannt werden soll.
(Wenn ich die Ausgabe direkt in das Browserfenster mache klappt übrigens alles)

Nachfolgend noch der Code mit dem ich's versuche, incl. den unterschiedlichsten 
Optionen die ich schon versucht habe.

[event2outlook.asp]
<%
        Response.Buffer = True
        Response.Expires=0

        Set objStream = Server.CreateObject("ADODB.Stream")

        objStream.Type = 1
        'objStream.Type = 2
        
        objStream.Open
        
        objStream.LoadFromFile(Server.MapPath("\") & "\ecal\test.ics")
        'objStream.LoadFromFile(Server.MapPath("\") & "\ecal\" & strFilename)
                
        Response.Clear
                
        'Response.AddHeader "Content-Disposition", "inline;filename=" & strFilename
        'Response.AddHeader "Content-Disposition", "attachment; filename=" & 
strFilename
        
        'Response.AddHeader "Content-Disposition", "inline;filename=test.ics"
        'Response.AddHeader "Content-Disposition", "filename=test.ics"
        'Response.AddHeader "Content-Length", objStream.Size
        'Response.CharSet = "UTF-8"

        Response.AddHeader "Content-Disposition", "attachment; filename=test.ics"
        
                
                
                
        'Response.ContentType = "text/plain"
        'Response.ContentType = "text/calendar"
        'Response.ContentType = "image/gif"
        
        Response.ContentType = "application/octet-stream"
        
                
        Response.BinaryWrite(objStream.Read(objStream.Size))
        'Response.BinaryWrite(objStream.ReadText(objStream.Size))
                
        objStream.Close
        Set objStream = Nothing
                
        Response.Flush


%>

Was könnte ich den noch versuchen?
Gibts es möglicherweise am Server etwas, daß ich noch einstellen muß? 

mfg
Christoph Eigenseder



| [aspgerman] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
| Sie können sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp

| [aspgerman] als archive@jab.org subscribed
| http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
| Sie können sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp
  • [aspgerman] RE: Datei erzwungen Downloaden Eigenseder Christoph ETR.ETT1