|  | 
	
	
	| Rank: Member Groups: Member
 
 Joined: 11/15/2010
 Posts: 23
 
 | 
		    Hi.. 
 i have a page with downloader control with dymanic content.
 
 Protected Overrides Sub GenerateContent()
 Dim i As Integer
 'Get the argument we passed in
 Dim Argumentos As String
 Dim Argumentos_Split As String()
 
 Dim Ruta_Fichero_a_Descargar As String = ""
 Dim Fichero_a_Descargar As String = ""
 Dim Fichero_a_Descargar_Kb As Long
 
 Argumentos_Split = Me.Arguments(i).Split("[SEPARADOR]")
 Argumentos = Me.Arguments(i)
 
 Ruta_Fichero_a_Descargar = Argumentos.Substring(0, Argumentos.IndexOf("[SEPARADOR]"))
 Argumentos = Argumentos.Replace(Ruta_Fichero_a_Descargar & "[SEPARADOR]", "")
 
 Fichero_a_Descargar = Argumentos.Substring(0, Argumentos.IndexOf("[SEPARADOR]"))
 Argumentos = Argumentos.Replace(Fichero_a_Descargar & "[SEPARADOR]", "")
 
 Fichero_a_Descargar_Kb = Integer.Parse(Argumentos)
 
 If Ruta_Fichero_a_Descargar <> "" And Fichero_a_Descargar <> "" And Fichero_a_Descargar_Kb <> 0 Then
 
 SetFileName(Fichero_a_Descargar, Round(Fichero_a_Descargar_Kb * 1024, 0))
 
 'Generates the content
 Dim Fichero_Origen As New FileStream(Ruta_Fichero_a_Descargar & Fichero_a_Descargar, FileMode.Open)
 Dim Datos_Origen As Byte()
 ReDim Datos_Origen(Fichero_Origen.Length)
 
 Fichero_Origen.Read(Datos_Origen, 0, Fichero_Origen.Length)
 Fichero_Origen.Close()
 
 Write(Datos_Origen, 0, Datos_Origen.Length)
 
 End If
 
 Next
 
 End Sub 'GenerateContent
 
 But when i downloaded a huge file, file more than 200 Mb. an error ocurrs :
 
 Se produjo una excepción de tipo 'System.OutOfMemoryException'
 
 in line  ReDim Datos_Origen(Fichero_Origen.Length)
 
 | 
|  | 
	
	
	| Rank: Administration Groups: Administration
 
 Joined: 5/27/2007
 Posts: 24,425
 
 | 
		    That's normal. This is your code error and has nothing to do with our downloader. You need to change your code so that you don't load the 200M file in memory at once.
 Thanks
 | 
|  | 
	
	
	| Rank: Member Groups: Member
 
 Joined: 11/15/2010
 Posts: 23
 
 | 
		    Hi, i change my code to download huge files and i don't need to store in memory. The code is:
 BEGIN CODE
 
 Dim Fichero_Origen As New FileStream(Ruta_Fichero_a_Descargar & Fichero_a_Descargar, FileMode.Open)
 
 ' Longitud del archivo:
 Dim length As Integer
 
 ' Búfer para leer 10 KB en el fragmento:
 Dim Tamanno_Buffer As Integer = 10000
 Dim buffer(Tamanno_Buffer) As Byte
 
 ' Número total de bytes que leer:
 Dim dataToRead As Long
 
 Try
 ' Número total de bytes que leer:
 dataToRead = Fichero_Origen.Length
 
 ' Leer los bytes.
 While dataToRead > 0
 ' Leer los datos del búfer
 length = Fichero_Origen.Read(buffer, 0, Tamanno_Buffer)
 
 ' Escribir los datos en la secuencia de salida actual.
 Write(buffer, 0, length)
 
 ' Vaciar los datos en la salida HTML.
 ReDim buffer(Tamanno_Buffer)
 
 ' Limpiar el búfer
 dataToRead = dataToRead - length
 End While
 
 Catch ex2 As Exception
 
 End Try
 Fichero_Origen.Close()
 
 END CODE
 
 But when i downloaded files and i try to open and error ocurrs that the file is corrupted.
 
 Why?? i don't understan which is the error code?
 
 Thank you
 | 
|  | 
	
	
	| Rank: Member Groups: Member
 
 Joined: 11/15/2010
 Posts: 23
 
 | 
		    Hi, again.. the code behind works fine whit files smaller than 4 Mb, but with greater files not works. When the file is over 99 % stop it and don't endind the downloaded. Why? i don't undertans why not works.
 Dim Fichero_Origen As New FileStream(Ruta_Fichero_a_Descargar & Fichero_a_Descargar, FileMode.Open)
 
 Dim length As Integer
 Dim Tamanno_Buffer As Integer = 1024
 Dim buffer(Tamanno_Buffer) As Byte
 
 length = Fichero_Origen.Read(buffer, 0, Tamanno_Buffer)
 While length > 0
 Write(buffer, 0, length)
 
 ReDim buffer(Tamanno_Buffer)
 
 length = Fichero_Origen.Read(buffer, 0, Tamanno_Buffer)
 End While
 
 Fichero_Origen.Close()
 | 
|  | 
	
	
	| Rank: Administration Groups: Administration
 
 Joined: 5/27/2007
 Posts: 24,425
 
 | 
		    Hi,
 I do not believe any questions you mentioned in this thread have anything to do with us. We do not review or troubleshoot your code. I hope you understand.
 
 Thanks
 | 
|  | 
	
	
	| Rank: Member Groups: Member
 
 Joined: 11/15/2010
 Posts: 23
 
 | 
		    Sorry, but the code only fails in donwloader control with DynamicContent="TRUE", for this reason i posted.
 Thank you
 | 
|  | 
	
	
	| Rank: Administration Groups: Administration
 
 Joined: 5/27/2007
 Posts: 24,425
 
 | 
		    Hi,
 That's because your code is only called when DynamicContent is set to true. The sample code works fine. So you may want to compare your code with the sample code to see if you can find the problem. We will not debug your code. So you can't just post your code and ask us to find out what's wrong with it.
 
 Thanks
 | 
|  | 
	
	
	| Rank: Member Groups: Member
 
 Joined: 11/15/2010
 Posts: 23
 
 | 
		    Hi and thank you for the time to answer the question. Sorry for reply again but my problem is that the code works perfectly when i donwloaded files about 4 mb or less but greater files fails. This is the only reason that i need help.
 Why with grater files failed? i don't understand why not work.
 
 Thank again and best regards
 | 
|  | 
	
	
	| Rank: Administration Groups: Administration
 
 Joined: 5/27/2007
 Posts: 24,425
 
 | 
		    Hi,
 Please try to isolate the problem into a test project and then send the test project to us. Make sure your test project runs independently and only contain code needed to reproduce the problem.
 
 Thanks
 | 
|  |