Ciao a tutti...
Utilizzo questo codice qui
per effettuare il download forzato di un file pdf, dopo il click di un link.codice:<% response.buffer = True 'importante IF len(request.querystring("preventivo")) > 0 THEN call downloadForzato(request.querystring("preventivo")) ELSE IF len(request.form("preventivo")) > 0 THEN call downloadForzato(request.form("preventivo")) ELSE response.redirect("../dettaglio_preventivo.asp") END IF END IF '**************** PROCEDURA PER L'invio del file al client ********** Sub downloadForzato(down) DIM FType, objStream, percorso 'La cartella di esempio è nominata "repository" 'Il percorso virtuale assoluto percorso = (server.MapPath("public/preventivi/" & down)) 'Assegno il MIME TYPE FType = LCase(right(down, 4)) SELECT CASE FType CASE ".asf" : FType = "video/x-ms-asf" CASE ".jpg", "jpeg" : FType = "image/jpg" CASE ".pdf" : FType = "application/pdf" CASE ELSE : FType = "application/octet-stream" 'Generico END SELECT Set objStream = Server.CreateObject ("ADODB.Stream") objStream.type = adTypeBinary objStream.Open objStream.LoadfromFile (percorso) Response.ContentType = FType Response.AddHeader "Content-Disposition", "attachment; filename="& down Response.AddHeader "Content-Length", objStream.Size Response.Charset = "UTF-8" Do While Not objStream.EOS Response.BinaryWrite objStream.Read(1024) Response.Flush Loop objStream.Close Set objStream = Nothing End Sub %>
Su un altro sito non mi da problemi, su un sito invece si, mi restituisce questo errore
la querystring è corretta, infatti la pagina precedente mi passa questo parametro:codice:ADODB.Stream error '800a0bba' File could not be opened. /area_preventivi/script/scarica_preventivi.asp, line 33
se inoltre dall'url digito direttamente l'url del preventivo, adobe mi si apre e me lo fa vedere.codice:script/scarica_preventivi.asp?preventivo=PREVENTIVO_16.pdf
non ho proprio idee... ripeto, su un altro server mi funziona tranquillamente (ovvio che alcuni percorsi e alcune cartelle sono diverse, però)----
grazie mille a tutti!

Rispondi quotando
