Salve, ho il seguente problema, dalla mia applicazione, visualizzo in una data grid view un elenco di file presenti su un disco di rete mappato con lettera "T:" .
Se si clicca sulla riga della griglia che mostra l'elenco dei file fisici presenti sul disco T: si esegue il download del file in questione.
La pagina in debug funziona, esegue il download dei file, appena la pubblico sul server 2000 e clicco sulla riga x il download del file mi scarica un file vuoto.
Il disco mappato hanno la stessa lettera, lo stesso utente...
di seguito imposto il codice che uso...
proprietà file
Private ReadOnly Property AbsoluteFolderPath() As String
Get
If IO.Path.IsPathRooted(ConfigurationManager.AppSettings("Path")) Then
Return ConfigurationManager.AppSettings("Path")
Else
Return Server.MapPath(ConfigurationManager.AppSettings("Path"))
End If
End Get
End Property
Private ReadOnly Property FILENAME() As String
Get
Dim value As String = Request("FILENAME")
If Not String.IsNullOrEmpty(value) Then
Return value
Else
Return String.Empty
End If
End Get
End Property
sul campo della tabella che si clicca per scaricar e il file
Protected Sub DGV_RICEVUTE_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGV_RICEVUTE.SelectedIndexChanged
If DGV_RICEVUTE.SelectedIndex <> -1 Then
Dim NomePath As String = ConfigurationManager.AppSettings("Path") & "\" & DDL_GRUPPO.SelectedItem.Text & "\" & DDL_SOCIETA.SelectedItem.Text & "\" & IDE_ANNO.Text & "\" & DDL_ID_TELEMATICO.Text & "\pp\ss"
Dim Appoggio() As String = Split(DGV_RICEVUTE.SelectedDataKey.Item(0).ToString.ToUpper, ".")
Dim NomeFile As String = Appoggio(0)
Dim dInfo As New DirectoryInfo(NomePath & "\" & NomeFile & ".xxx") 'Creo l'oggetto DirectoryInfo
'downloads file
IDL_MESSAGGIO.Text = "WT-RIR0: file " & NomePath & "\" & NomeFile & ".xxx"
IDL_MESSAGGIO.ForeColor = Drawing.Color.Black
IDL_MESSAGGIO.Font.Bold = True
IDL_MESSAGGIO.Visible = True
Response.Redirect(String.Format("ricevute.aspx?FileName={0}", NomePath & "\" & NomeFile & "_rel.stf"))
End If
End Sub
load della pagina che scatta dopo il redirect
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
IDL_MESSAGGIO.Text = ""
End If
If Not String.IsNullOrEmpty(Me.FILENAME) Then
Dim File As New IO.FileInfo(IO.Path.Combine(Me.AbsoluteFolderPath, Me.FILENAME))
Try
Response.Clear()
Response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", File.Name))
Response.AddHeader("Content-Length", File.Length.ToString())
Response.ContentType = "application/octet-stream"
' leggo dal file e scrivo nello stream di risposta
IDL_MESSAGGIO.Text = "WT-RIR0: file " & File.FullName
IDL_MESSAGGIO.ForeColor = Drawing.Color.Black
IDL_MESSAGGIO.Font.Bold = True
IDL_MESSAGGIO.Visible = True
Response.WriteFile(File.FullName)
Response.End()
Catch ex As Exception
ErrorePagina("errore visualizzazione file")
Response.End()
End Try
End If
End Sub
X' se pubblico scarico un file vuoto?
l'Hosting è un w2000 server... ho altre pagine su questo hosting che mi permettono di scaricare i file tranquillamente.