Salve a tutti io uso questo script per fare il download di alcuni file dal server e non far vedere il loro reale indirizzo
codice:
Response.Expires=0
Response.Buffer=0
Const CHUNK = 2048
strFilePath = Server.MapPath(downloadfile)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
set objFile = fso.GetFile(strFilePath)
Response.AddHeader "Content-Disposition", "attachment; filename=" & objFile.Name
Response.AddHeader "Content-Length", objFile.Size
Response.ContentType = "application/octet-stream"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 ' adTypeBinary
objStream.LoadFromFile strFilePath
lSize = objStream.Size
lBlocks = 1
For lBlocks = lBlocks To lSize \ CHUNK
If Response.IsClientConnected = False Then Exit For
Response.BinaryWrite objStream.Read(CHUNK)
Next
lSize = lSize Mod CHUNK
If lSize > 0 And Response.IsClientConnected = True Then
Response.BinaryWrite objStream.Read(lSize)
End If
objStream.Close
Set objStream = Nothing
lo scrip funziona alla grandissima solo che se il mio file si chiama per esempio prova file.pdf (ovvero con uno spazio) quando vado a cliccare sul download mi viene scaricato un file di nome prova senza estensione.
Praticamente viene preso il nome fino al primo spazio bianco perdendo quindi l'estensione.
Apparte il fatto che i file dovrebbero tutti essere senza spazio e questo lo so ma il difficile è farlo capire alla gente, ma mi chiedevo c'è un modo per poter risolvere il problema? anche mettendo l'estensione direttamente al nome del file....
grazie a tutti