52 messaggi dal 21 gennaio 2002
Sto usando questo codice:
Dim objStream, strFileName
strFileName = Request.QueryString("file")
strFileName = Server.MapPath("..\aggiornamento\" & strFileName)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
' Istruiamo il browser sul tipo di file
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.ContentType = "application/octet-stream"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing

Purtroppo ricevo questo errore ma non riesco a capire dove sbaglio..:

Tipo di errore:
Oggetto risposta, ASP 0106 (0x80020005)
È stato individuato un tipo di dati privo di handle.
/bologna/sendfile.asp, line 37

Tipo di browser:
Opera/7.22 (Windows NT 5.0; U) [it]

Pagina:
GET /bologna/sendfile.asp

p.s.: la linea 37 è questa:
Response.BinaryWrite objStream.Read

bulabula
2.584 messaggi dal 14 maggio 2001
Prova così (le modifiche le ho scritte in maiuscolo):

RESPONSE.BUFFER = TRUE
RESPONSE.CLEAR
Dim objStream, strFileName
strFileName = Request.QueryString("file")
strFileName = Server.MapPath("..\aggiornamento\" & strFileName)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
' Istruiamo il browser sul tipo di file
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.ContentType = "application/octet-stream"
Response.BinaryWrite objStream.Read
RESPONSE.FLUSH
objStream.Close
Set objStream = Nothing
52 messaggi dal 21 gennaio 2002
Purtroppo non funizona

bulabula
2.584 messaggi dal 14 maggio 2001
E' corretto il percorso del tuo file?

cosa ottieni se fai:
response.write "---" & strFileName & "---"
response.end
52 messaggi dal 21 gennaio 2002
Ho controllato anche il percorso: il valore di strFileName è esatto (l'ho valorizzato con Server.MapPath appunto per riuscire a vedere il percorso completo col nome del file)...
Modificato da bulabula il 17 febbraio 2004 17.53 -

bulabula
2.584 messaggi dal 14 maggio 2001
Sto facendo delle ricerche...
domanda il file che stai aprendo è un file particolare o normale (.doc, .pdf,...)
nella pagina in cui hai questo codice fai qualche altra operazione?
52 messaggi dal 21 gennaio 2002
Grazie per la tua disponibilità!
Il file è un eseguibile (.exe).
Le righe mancanti sono queste:

Session("Messaggio") = strFileName
Response.Redirect "download.asp"

oltre ad un piccola routine (inclusa e funzionante anche in altre pagine) che controlla alcune variabili di sessione...

bulabula
2.584 messaggi dal 14 maggio 2001
Non puoi usare l'adodb.Stream e il Response.Redirect nella stessa pagina perché inviano entrambi intestazioni al client...

Puoi per favore scrivere tutto il codice...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.