Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema download file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    43

    problema download file

    Ciao!
    Sto creando un'applicazione in cui sia possibile scaricare e salvare dei file da un server.
    Ho utilizzato lo script proposto su questo forum. Il download viene eseguito correttamente peró quando vado ad aprire i file scaricati non é possibile visualizzarli. per esempio se provo ad aprire una gif con explorer mi esce la classica x rossa mentre con paint compare un messaggio di errore che dice che il formato del file non é compatibile.
    sapete dirmi il perché?
    Premetto che i file sul lato server vengono aperti correttamente e che la dimensione dei file scaricati é di poco superiore a quella dei file sul server.
    Di seguito vi riporto il codice per il download ed il link mediante il quale richiamo la pagina dove risiede questo codice.


    link:
    ">download


    codice inc-download.asp
    <body>
    <!--METADATA TYPE="typelib"
    UUID="00000205-0000-0010-8000-00AA006D2EA4"
    NAME="ADODB Type Library"

    -->
    <%
    file=request.QueryString("file")

    ' METADATA SERVE PER IMPORTARE LE COSTANTI DI ADO2.5

    Response.Buffer = true

    strNome = file

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

    objStream.Type = adTypeBinary
    objStream.Open
    objStream.LoadFromFile Server.MapPath("IncArchivos/" & strNome)

    ' stream generico, IE chiede di salvare
    Response.ContentType = "octet/stream"

    ' imposto il nome del file
    Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome

    Response.BinaryWrite objStream.Read

    objStream.Close
    Set objStream = Nothing

    %>

    </body>

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Togli tutti i tag html e gli spazi.
    metti solo
    codice:
    <% 
    Response.Buffer = true 
    strNome = request.QueryString("file") 
    Set objStream = Server.CreateObject("ADODB.Stream") 
    objStream.Type = 1
    objStream.Open
    objStream.LoadFromFile Server.MapPath("IncArchivos/" & strNome) 
    Response.ContentType = "octet/stream" 
    Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome 
    Response.BinaryWrite objStream.Read 
    objStream.Close 
    Set objStream = Nothing 
    %>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    43
    continua a non andare

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Dopo la distruzione di objstream metti
    Response.End

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    43
    non l'avevo messo,ho riprovato adesso ma non va

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    43
    ok, ho risolto...
    errore da principiante.
    nella pagina inc-download.asp, oltre al codice asp avevo messo anche i tag <html><head>e <body>...
    me ne sono accorto aprendo il file come testo.

    Grazie, comunque!
    ciao

  7. #7
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Te l'ho di teglirli tutti ..hehehe

  8. #8
    A tal proposito, con lo stesso oggetto, com'è possibile far partire il download dopo qualche secondo (i secondi vengono settati)?

  9. #9
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Con lo stesso oggetto non puoi (a meno che non fai un loop che ti mangia memoria),falla passare da una pagina intermedia poi con un js fai il redirect alla pagina del codice che hai qui.

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.