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.