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

Rispondi quotando