Salve a tutti io uso questo script per fare il download di alcuni file dal server e non far vedere il loro reale indirizzo
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.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
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

Rispondi quotando
