In asp usavo questa cosa qui che mi permetteva di puntare un file accessibile col FSO e farne il download.... in aspnet fa ancora il suo dovere usando la direttiva di pagina aspcompat="true", ma è "riscrivibile" usando oggetti migliori/più nuovi/più efficienti?
codice:
Protected Sub downloader(ByVal nomefile As String)
Dim PercorsoFile = ConfigurationManager.AppSettings("DDTpath") & nomefile
PercorsoFile = Replace(PercorsoFile, "/", "\")
Response.Buffer = True
Response.Clear()
Dim ADOStream = Server.CreateObject("ADODB.Stream")
ADOStream.Open
ADOStream.Type = 1 ' Set binary stream
Dim FS = Server.CreateObject("Scripting.FileSystemObject")
If FS.FileExists(PercorsoFile) Then
Dim FileStream = FS.GetFile(PercorsoFile)
Dim DimensioneFile = FileStream.Size
ADOStream.LoadFromFile(PercorsoFile)
nomefile = Mid(PercorsoFile, InStrRev(PercorsoFile, "\") + 1)
NomeFile = Replace(NomeFile, " ", "_")
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" & NomeFile)
Response.AddHeader("Content-Length", DimensioneFile)
For i = 0 To ADOStream.size
i = i + 128000
Response.BinaryWrite(ADOStream.Read(128000))
Response.Flush()
Next
FS = Nothing
End If
End Sub