Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Download forzato non funzionante

    Ciao a tutti...
    Sto usando questo script

    codice:
    <%
    response.buffer = True 'importante
    
    IF len(request.querystring("DOWNLOAD")) > 0 THEN
        call downloadForzato(request.querystring("DOWNLOAD"))
    ELSE IF len(request.form("DOWNLOAD")) > 0 THEN
               call downloadForzato(request.form("DOWNLOAD"))
            ELSE
    
               response.redirect("user_orders.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("repository/" & 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
    %>
    Sostanzialmente devo permettere a degli utenti di vedere dei determinati file pdf.
    Tali file putroppo hanno tutti un nome simile, pertanto vorrei evitare che cambiando un parametro della URL dove si vede appunto il nome file la gente possa vedere altri file pdf....

    Pertanto vorrei abilitare il dl forzato, ma... con questo codice ottengo solo un redirect alla pagina di partenza, senza ottenere altro....

    Il file c'è, la cartella è settata correttamente..... Ho messo un Response.end() subito prima il primo redirect per vedere se era li il problema ma nada, va in redirect.... SENZA aprirmi la finestra di download...

    Fondamentalmetne il mio scopo è non far sapere all'utente la cartella in cui sta quel file.... tantomeno faglielo prendere dall'url...

  2. #2
    codice:
    if len(request("DOWNLOAD"))>0 then
       call downloadForzato(request("DOWNLOAD"))
    else
     response.redirect("user_orders.asp")
    end if
    se ti va in redirect vuol dire che nella request non c'è nulla per DOWNLOAD
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Non ho pensato alla soluzione più banale, cioè quella di impostare un Reponse.write (download)

    Ho pero messo un Response.end() e... il codice non si ferma, va comunque in redirect! Ho cercato quindi il "debug" più ostico, ma.. il risultato non cambia....

    Leggendo il codice è vero che non ci sono altri redirect, vero? Non vorrei essere impazzito io!

  4. #4
    metti una
    codice:
    response.write("ho passato" & requet("DOWNLOAD")): response.end()
    PRIMA del response.redirect, all'interno dell'else. Se ti entra nell'else vuol dire che in Download non c'era nulla
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Niente, messo il tuo codice ma... va in redirect!!!

    Comunque, ho trovato l'arcano. Ho modificato infatti la pagina dello script mettendo solo banalmente

    variabile=request.form("variabile")
    response.write(variabile)

    e andava in redirect....

    Sono andato nel codice della form, sotto "action" era settata correttamente la paginetta a cui rimandare........ho scritto action="blablabla.asp" e volete sapere...

    si punta sempre sulla pagina contenente il form...

    Eppure ragazzi, sono anni che programmo in asp, sono in grado di costruire un form!

    codice:
    <%
    fattura = "FATTURA_NUMERO_"&rs("num_ordine")
    %>
    <form name="fatture" method="post" action="download.asp">
    <input name="DOWNLOAD" type="hidden" value="<%=fattura%>">
    <input type="image" src="images/template/icone/lente.gif" align="middle">
    </form>
    Bene.... se in action scrivete quello che volete......... se ne infischia..... VVoVe:

    PS Per vedere se fosse per caso quel "fattura" variabile a sballare... ho messo un valore fisso, che so per certo esistere..... indovinate un po'? Sempre sulla stessa pagina rimango!

    Mi viene da ridere! Perchè a volte mi sbattevo 3 ore che poi era un campo sballato di un db access... qui parliamo di un form banale!

  6. #6


    ma l'immagine serve per fare il submit?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova a svuotare la cache del browser... e verifica che la pagina che ricevi sia proprio quella che ti aspetti

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Originariamente inviato da Santino83_02


    ma l'immagine serve per fare il submit?
    Yes... non mi piacciono i bottoni.....

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Originariamente inviato da br1
    Prova a svuotare la cache del browser... e verifica che la pagina che ricevi sia proprio quella che ti aspetti

    ciao
    Svuotata la cache... anzi, per meglio fare tentato con 2 pc entrambi con ie e firefox...

    Non so + come intercettare il request form invece.... dato che qualsiasi valore metto nella action..... se ne infischia, anche di una pagina inesistente!

  10. #10
    sicuro che non si schiodi dalla pagina col form?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.