Ciao a tutti,
per evitare problemi di copyright e altro sul mio sito ho messo dei file in download disponibili solo agli utenti registrati con il codice di Jason Withrow che riporto alla fine di questo post (permette il download con ADODB.Stream di file enormi), ora dovrei creare un altro o più siti che permettano il download degli stessi file con lo stesso metodo e pensavo di evitare di duplicarli per ogni sito, ma di far effettuare il download da un unico sito.
I file sono nella cartella mdb-database del sito 1, ho provato dal sito 2 a scaricarli semplicemente impostando come path http://www.sito1.it/mdb-database/nomefile.est ma naturalmente non funziona.
I siti sono sullo stesso server, il server è mio e ne ho la gestione completa, come si può fare (se si può fare)? devo impostare qualche permesso alla cartella mdb-database del sito 1 per far accedere dal sito 2? se si che nome devo mettere?
grazie, fulvio
Codice PHP:' ### INIZIO
'8***********************************************8
' Jason Withrow - For ASP101 July 2001
' This page forces the save as dialogue to prevent
' files from being opened in the browser.
'
' [email]jwithrow@mediaone.net[/email]
'8***********************************************8
Response.Buffer = True
strFilePath = Server.MapPath(PercorsoFile)
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFile = oFso.GetFile(strFilePath)
strFileName = UCase(oFile.Name)
strFileSize = CLNG(oFile.size)
Set oFile = Nothing
Set oFso = Nothing
' end add
Const adTypeBinary = 1
'strFilePath = Request.QueryString("File")
'strFileSize = Request.QueryString("Size")
'strFileName = Request.QueryString("Name")
Response.Clear
'8*******************************8
' Requires MDAC 2.5 to be stable
' I recommend MDAC 2.6 or 2.7
'8*******************************8
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
strFileType = lcase(Right(strFileName, 4))
' Feel Free to Add Your Own Content-Types Here
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
ContentType = "application/x-zip-compressed"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".asp"
ContentType = "text/asp"
Case Else
'Handle All Other Files
ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.AddHeader "Content-Length", strFileSize
' In a Perfect World, Your Client would also have UTF-8 as the default
' In Their Browser
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Do While Not objStream.EOS
Response.BinaryWrite objStream.Read(1024)
Response.Flush
Loop
objStream.Close
Set objStream = Nothing
' ### FINE

Rispondi quotando
fulvio.
