14 messaggi dal 04 maggio 2001
ho trovato una soluzione nel forzare il download di un file creato da codice ma non salvato sul filesystem, grazie al forum naturalmente ;)

per prima cosa chiamo una pagina ASP che tramite l'oggetto MSXML2 mi richiama un'altra pagina ASP su cui eseguo l'elaborazione dei dati.
Allora...

<%
Response.Buffer = True
Dim objXMLHTTP, StrURL, StrNome
StrURL = "http://.....toTXT.asp"
StrNome = "report.txt"

Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'Utilizziamo la versione 3 che non ha problemi di performance
'per la 2 usare Microsoft.XMLHTTP

objXMLHTTP.Open "GET", StrURL, False

' Richiama il file
objXMLHTTP.Send

' Aggiunge un header per far scaricare il file
Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome

' Imposta il content su octet-stream, forzando l'apertura fuori dal browser
Response.ContentType = "application/octet-stream"

' Manda il contenuto con BinaryWrite
Response.BinaryWrite objXMLHTTP.responseBody

Set xml = Nothing
%>

Questa è la prima, la seconda che mi restituisce il report dell'elaborazione è:

<%
Response.Expires=-1500
response.buffer = TRUE
Server.ScriptTimeout=300
'APRO IL DATABASE
dim conn
dim rs
dim i
dim strXls
dim campo
dim strSQL

strXls=""
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...."

conn.CommandTimeout=300
set rs=server.CreateObject ("ADODB.recordset")
strSQL="SELECT ......"

rs.Open strSQL,conn,3,1

for i =0 to rs.Fields.count-1
strXls=strXls & rs.Fields(i).name & ";"
next

Do Until RS.EOF
strXls=strXls & VBCrLf

for i=0 to rs.Fields.count-1

strXls = strXls & rs.Fields(i).Value & ";"

next

rs.MoveNext
loop


set rs = Nothing

conn.Close
Set conn = Nothing

'MANDO AL BROWSER

Response.write strXls

%>

CIAO!

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.