Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/07/2005, 21:10
Avatar de ciberpato
ciberpato
 
Fecha de Ingreso: agosto-2004
Mensajes: 142
Antigüedad: 20 años, 4 meses
Puntos: 1
Pregunta Problema con UpLoad....SOS

Tengo el siguiente upload:

Public Class UpLoad
Inherits System.Web.UI.Page
Protected WithEvents file1 As System.Web.UI.HtmlControls.HtmlInputFile
Protected WithEvents BtnEnviar As System.Web.UI.WebControls.Button
Protected WithEvents lbl_error As System.Web.UI.WebControls.Label

#Region " Código generado por el Diseñador de Web Forms "

'El Diseñador de Web Forms requiere esta llamada.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método
'No lo modifique con el editor de código.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
lbl_error.Text = ""
End Sub
Function CheckFile() As Boolean
If file1.PostedFile.ContentLength > 0 Then
If Not (file1.PostedFile.ContentLength / 1000) > 500 Then
Dim FileExt As String
FileExt = System.IO.Path.GetExtension(file1.PostedFile.FileN ame).ToLower
If FileExt = ".jpg" Or FileExt = ".gif" Or FileExt = ".jpeg" Or FileExt = ".bmp" Or FileExt = ".tiff" Then
lbl_error.Text = "El fichero a sido enviado!!!"
Return True
Else
lbl_error.Text = "La extensión del fixhero no es corecta."
Return False
End If
Else
Dim SizeMBs As String
SizeMBs = CStr(file1.PostedFile.ContentLength / (1024 * 1024))
SizeMBs = SizeMBs.Substring(0, SizeMBs.IndexOf(".") + 3)
lbl_error.Text = "El fichero es demasiado grande ! tu pudes enviar ficheros de 500 Kb como maximo, y el fichero actual tine un tamaño de " & SizeMBs & "MB"
Return False
End If
Else
lbl_error.Text = "Fichero no Valido"
Return False
End If
End Function


Function SaveFile() As Boolean
If CheckFile() = True Then
Dim Fname As String = System.IO.Path.GetFileName(file1.PostedFile.FileNa me)
'file1.PostedFile.SaveAs(Server.MapPath("Descargas \" & Fname)) '// ruta relativa
file1.PostedFile.SaveAs("C:\Inetpub\wwwroot\Sercot ec\Descargas\" & Fname) '// ruta absoluta
Return True
Else
Return False
End If
End Function

Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click
SaveFile()
End Sub
End Class

Todo bien en la selección del archivo....el problema se presenta cuando envío el archivo. Me reclama con el siguiente error en tiempo de ejecución:

[NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.]
Sea cae cuando ejecuta la linea 27:

Línea 26: Function CheckFile() As Boolean
Línea 27: If file1.PostedFile.ContentLength > 0 Then
Línea 28: If Not (file1.PostedFile.ContentLength / 1000) > 500 Then
Línea 29: Dim FileExt As String

De antemanos agradezco su colaboración para solucionar este dilema.